我使用Amazon EC2實例通過使用AWS Java SDK執行一些複雜的計算,但這些計算有時可能需要很長時間。因此,我需要從Java代碼中遠程殺死在EC2實例上運行的進程,以便我可以在不需要停止和啓動實例的情況下重複使用同一個實例進行其他任務。如何遠程殺死亞馬遜EC2 linux實例上的進程
停止和開始的問題是,亞馬遜將部分時間視爲完整時間,因此我的目標是讓我的代碼更具成本效益。
我使用SSH連接我的EC2實例,這就是我如何傳遞命令在那裏執行。我懷疑如果我斷開SSH連接並再次連接它,它會殺死在那裏運行的任何進程。
總之,我需要的不是Ctrl + C而是來自我的Java代碼(無需用戶干預)。那可能嗎?
編輯: 爲了闡明,計算由安裝在Linux EC2實例上的單獨工具執行。所以我只是傳遞命令來啓動這個工具,然後命令行會一直等到完成並顯示結果。在手動使用場景中,我可以在linux命令行上單擊Ctrl + C並獲取對命令行的控制權。但在我的情況下,如果可能的話,我想從java代碼中做類似的事情。
這是一個可能的重複,可能會解決您的問題:http://stackoverflow.com/questions/6356340/killing-a-process-using-java – gimg1