linux僵尸進(jìn)程殺不死怎么辦
Linux僵尸進(jìn)程殺不死的解決方法:1、利用cat命令,查看僵尸進(jìn)程的父進(jìn)程id,語(yǔ)法為“cat /proc/僵尸進(jìn)程的進(jìn)程號(hào)/status”;2、利用kill命令,將父進(jìn)程給殺死即可,語(yǔ)法為“kill -9 父進(jìn)程的進(jìn)程號(hào)”。
程序員必備接口測(cè)試調(diào)試工具:立即使用
Apipost = Postman + Swagger + Mock + Jmeter
Api設(shè)計(jì)、調(diào)試、文檔、自動(dòng)化測(cè)試工具
后端、前端、測(cè)試,同時(shí)在線協(xié)作,內(nèi)容實(shí)時(shí)同步
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
linux僵尸進(jìn)程殺不死怎么辦
可以使用kill命令終止Linux系統(tǒng)中的進(jìn)程。盡管叫這個(gè)名字,但kill命令和一組其他的命令 (例如pdill和killall) 其次是被編寫(xiě)/設(shè)計(jì)為向一個(gè)或多個(gè)進(jìn)程發(fā)送某些信號(hào)。當(dāng)未指定時(shí),它發(fā)送的默認(rèn)信號(hào)是終止進(jìn)程的SIGTERM信號(hào)。
當(dāng)父進(jìn)程死亡或被殺死,而其子進(jìn)程沒(méi)有跟隨其父進(jìn)程一起消亡時(shí),我們稱該進(jìn)程為孤兒進(jìn)程。
如何殺死僵尸進(jìn)程
另一方面,僵尸進(jìn)程是無(wú)法被殺死的!如果你要問(wèn)什么?因?yàn)樗麄円呀?jīng)死了!
每個(gè)子進(jìn)程終止后,都會(huì)成為僵尸進(jìn)程,然后由父其進(jìn)程刪除。當(dāng)進(jìn)程退出其存在并釋放其使用過(guò)的資源時(shí),其名稱仍在OS進(jìn)程表上。然后會(huì)由其父級(jí)的進(jìn)程從進(jìn)程表中刪除其名稱。當(dāng)失敗時(shí),我們就有了僵尸進(jìn)程,但它已經(jīng)不再是一個(gè)真正的進(jìn)程,而只是操作系統(tǒng)進(jìn)程表上的一個(gè)條目了。
這就是為什么即使在已失效的 (僵尸) 進(jìn)程上使用命令kill -9 (SIGKILL) 也不起作用的原因,因?yàn)闆](méi)有什么可以殺死的。
因此,要?dú)⑺澜┦M(jìn)程,從進(jìn)程列表中刪除其名稱,你就必須殺死其父進(jìn)程。例如,如果PID 5878是僵尸進(jìn)程,而其父級(jí)是PID 4809,則要?dú)⑺澜┦?5878),也請(qǐng)結(jié)束PID 4809:
sudo kill -9 4809 #4809 is the parent, not the zombie
但殺死父進(jìn)程時(shí)要非常小心。如果進(jìn)程的父級(jí)是PID 1,并且你殺死了它,就會(huì)重新啟動(dòng)系統(tǒng)!
示例如下:
1、根據(jù)子進(jìn)程查看父進(jìn)程
cat /proc/pid/status
2、利用“kill -9 父進(jìn)程的進(jìn)程號(hào)”將父進(jìn)程給刪除掉;
推薦學(xué)習(xí):Linux視頻教程
以上就是linux僵尸進(jìn)程殺不死怎么辦的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注其它相關(guān)文章!
版權(quán)聲明:
本站所有文章和圖片均來(lái)自用戶分享和網(wǎng)絡(luò)收集,文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途,如果損害了您的權(quán)利,請(qǐng)聯(lián)系網(wǎng)站客服處理。