首頁  >  文章  >  運維  >  linux殭屍行程殺不死怎麼辦

linux殭屍行程殺不死怎麼辦

WBOY
WBOY原創
2022-05-23 14:38:207821瀏覽

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影片教學

#

以上是linux殭屍行程殺不死怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn