kill 與 killall和過濾后殺掉


1.絕殺 kill -9 PID  殺掉單一進程  例如:kill -9 pid號
 
同意的 kill -s SIGKILL
 
這個強大和危險的命令迫使進程在運行時突然終止,進程在結束后不能自我清理。危害是導致系統資源無法正常釋放,一般不推薦使用,除非其他辦法都無效。
 
當使用此命令時,一定要通過ps -ef確認沒有剩下任何僵屍進程。只能通過終止父進程來消除僵屍進程。如果僵屍進程被init收養,問題就比較嚴重了。殺死init進程意味着關閉系統。
 

如果系統中有僵屍進程,並且其父進程是init,而且僵屍進程占用了大量的系統資源,那么就需要在某個時候重啟機器以清除進程表了

 

2.killall命令  如: killall -9 java 殺掉所有的java進程
 
killall命令殺死同一進程組內的所有進程。其允許指定要終止的進程的名稱,而非PID。
 
3.根據條件過濾后殺掉進程:如:ps -ef |grep simo- |
ps -ef | grep simo- | grep -v grep | awk '{print $2}' | xargs --no-run-if-empty kill -9
多個過濾條件求並集
grep simo-  :過濾出simo-  字樣
grep -v grep" 在文檔中 過濾掉包含有grep字符的行
awk '{print $2}'  $fileName :   一行一行的讀取指定的文件, 以空格作為分隔符,打印第二個字段,第二個字段即 pid號, 過濾出pid號
比如有這樣一個文件
a1  b1  c1  d1
a2  b2  c2  d2
執行的結果是,輸出
b1
b2
-r, --no-run-if-empty

如果標准輸入中沒有任何非空的字符,則不運行命令;默認情況下即使標准輸入沒有非空字符,命令也會被運行一次


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM