2014-11-09 109 views
-1

我想執行命令以通過名稱獲取processid並通過ssh從遠程終止從另一臺計算機列出的所有進程。我正在運行以下命令,無法通過ssh通過名稱來終止遠程命令

ssh [email protected] "kill -SIGINT `ps -ef | grep <process name> | awk '{print $2}'`" 

但是它在本地檢查進程名稱而不是檢查遠程計算機。

你能幫助我解釋爲什麼這個命令無法正常工作嗎?

回答

1

你可以有很多更簡單地做到這一點:

ssh [email protected] "pkill -INT <process name>" 

另見pkill-f選項。

1

雙引號在命令調用之前由shell解釋。您必須將參數放在單引號中:

ssh [email protected] 'kill -SIGINT `ps -ef | grep <process name> | awk "{print \$2}"`'