linux殭屍行程殺不死的解決方法:1、利用cat指令,檢視殭屍行程的父行程id,語法為「cat /proc/殭屍行程的行程編號/status」;2、利用kill指令,將父行程給殺死即可,語法為「kill -9 父行程的行程號」。
本教學操作環境:linux7.3系統、Dell G3電腦。
可以使用kill指令終止Linux系統中的行程。儘管叫這個名字,但kill命令和一組其他的命令 (例如pdill和killall) 其次是被編寫/設計為向一個或多個進程發送某些信號。當未指定時,它發送的預設訊號是終止進程的SIGTERM訊號。
當父進程死亡或被殺死,而其子進程沒有跟隨其父進程一起消亡時,我們稱該進程為孤兒進程。
如何殺死殭屍行程
另一方面,殭屍行程是無法被殺死的!如果你要問什麼?因為他們已經死了!
每個子程序終止後,都會成為殭屍行程,然後由父其程序刪除。當進程退出其存在並釋放其使用過的資源時,其名稱仍在OS進程表上。然後會由其父級的進程從進程表中刪除其名稱。當失敗時,我們就有了殭屍進程,但它已經不再是一個真正的進程,而只是操作系統進程表上的一個條目了。
這就是為什麼即使在已失效的 (殭屍) 進程上使用命令kill -9 (SIGKILL) 也不起作用的原因,因為沒有什麼可以殺死的。
因此,要殺死殭屍進程,從進程列表中刪除其名稱,你就必須殺死其父進程。例如,如果PID 5878是殭屍進程,而其父級是PID 4809,則要殺死殭屍(5878),也請結束PID 4809:
sudo kill -9 4809 #4809 is the parent, not the zombie
但殺死父進程時要非常小心。如果進程的父級是PID 1,並且你殺死了它,就會重新啟動系統!
示例如下:
1、根據子進程查看父進程
cat /proc/pid/status
2、利用「kill -9 父行程的行程號碼」將父行程刪除掉;
推薦學習:Linux影片教學
#以上是linux殭屍行程殺不死怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!