2013-08-12 135 views
0

我試圖設置一個任務來殺死某些服務器進程,當服務器進入一個奇怪的狀態時,比如它無法啓動一個進程時,但另一個進程會繼續運行,因此並非所有的啓動向上。這主要是一項開發任務,因此您可以執行jake killall以終止與此項目關聯的所有進程。ps aux自動關閉應用程序

我無法搞清楚如何做後得到pidps aux | grep [p]rocess\ name | {HOW DO I GET THE PID NOW?}然後獲取ID之後我怎麼傳遞到kill -9 {PID HERE}

回答

2

PID是第二列,所以你可以做

ps aux | grep [p]rocess\ name | awk '{print $2}' 

總之,

my_pid=$(ps aux | grep [p]rocess\ name | awk '{print $2}') 
kill -9 $my_pid 
2

你也可以你killall <program>pkill <program>pgrep <program>

+0

我試過了,但是有很多進程使用相同的程序(節點)。 AFAIK,我需要進程名稱,而不是程序名稱。 –