linux僵尸進程殺不死怎么辦

linux僵尸進程殺不死的解決方法:1、利用cat命令,查看僵尸進程的父進程id,語法為“cat /proc/僵尸進程的進程號/status”;2、利用kill命令,將父進程給殺死即可,語法為“kill -9 父進程的進程號”。

linux僵尸進程殺不死怎么辦

本教程操作環境:linux7.3系統、Dell G3電腦。

linux僵尸進程殺不死怎么辦

可以使用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

linux僵尸進程殺不死怎么辦

2、利用“kill -9 父進程的進程號”將父進程給刪除掉;

linux僵尸進程殺不死怎么辦

推薦學習:Linux視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊10 分享