如果您使用net/ssh gem在遠程服務器啓動命令,並且該命令處於死鎖狀態,如何找到在遠程服務器上運行的進程的pid並殺死它?使用gem net-ssh啓動kill pid
net/ssh gem支持這個嗎?
如果您使用net/ssh gem在遠程服務器啓動命令,並且該命令處於死鎖狀態,如何找到在遠程服務器上運行的進程的pid並殺死它?使用gem net-ssh啓動kill pid
net/ssh gem支持這個嗎?
好吧,如果你能ssh
到遠程服務器,你可以用它來得到進程的PID:
# Assuming the command you want to kill is a ruby program.
# If the program is something else, say sparrow mail app, you should replace
# ruby with sparrow below.
ps -ax | grep ruby
然後,也許是:
kill -9 <pid>
你需要一種方法殺死使用Net :: SSH gem的處理? – Kashyap 2012-08-06 18:29:54
是的,這會很方便。我發現ruby PTY爲您提供了您開始的進程的pid,如果它沒有響應,您可以使用它來終止進程。但PTY使用起來比較複雜,所以我想找到一種方法來與網絡做同樣的事情:SSH gem – cjapes 2012-08-07 09:00:35