2021-02-22 分類: 網(wǎng)站建設(shè)
Linux進程經(jīng)常誤入歧途,什么都不做,甚至不耗用CPU周期。雖然僵尸進程不像運行中的流氓應(yīng)用程序那樣占用寶貴資源,但可能會構(gòu)成威脅。如何構(gòu)成威脅?某個進程成為僵尸進程時,它保留其進程ID(PID)。由于Linux系統(tǒng)的PID數(shù)量有限(不過數(shù)量很大),如果足夠的PID淪為僵尸,其他進程就無法啟動。
發(fā)生這種情況的可能性非常小。然而更重要的是,僵尸進程表明應(yīng)用程序出現(xiàn)了岔子,某個程序中可能存在著錯誤。不應(yīng)容忍數(shù)據(jù)中心軟件上的錯誤,需要加以解決。你可能需要檢查并殺死僵尸進程,才能解決問題。
因此,某個進程成為僵尸進程時,你怎么做?你要找到并殺死那些僵尸進程。下面教你怎么做。
找出僵尸進程
首先要做的是找出僵尸進程。幸好,由于ps命令,這很簡單。通過grep顯示ps命令的輸出,列出STAT是Z(代表僵尸)的任何進程。打開終端窗口,執(zhí)行下列命令:
- ps aux | grep 'Z'
上述命令的輸出將列出輸出中包含Z的任何進程(圖A)。
圖A
如你所見,許多運行中的進程呈僵尸狀態(tài)。該命令還將列出輸出中包含字母Z的任何進程,因此你要忽略STAT列中沒有Z的任何進程。
殺死僵尸進程
我們想要使用kill命令來終結(jié)那些僵尸進程。第一個命令的輸出將包括所有僵尸進程的PID,因此想終結(jié)其中一個,只要執(zhí)行命令:
- kill PID
其中PID是相關(guān)進程的進程ID。因此,如果你想終終結(jié)淪為僵尸的thunderbird進程(其PID是20589),命令是:
- kill 20589
就是這樣。
你完全可以編寫一個bash腳本來自動處理這項任務(wù),不過可能會殺死必要進程。由于存在這個風(fēng)險,我總是建議你手動處理此任務(wù)。考慮到我們面對的是生產(chǎn)級數(shù)據(jù)中心服務(wù)器(不過我在桌面系統(tǒng)上進行了演示),尤其應(yīng)該這樣。
如果你發(fā)現(xiàn)服務(wù)和應(yīng)用程序崩潰,應(yīng)該檢查有無僵尸進程,并終結(jié)它們。一旦你知道了哪些進程是僵尸進程,應(yīng)提交錯誤報告,或者聯(lián)系并告知開發(fā)人員(如果應(yīng)用程序常常崩潰,更應(yīng)如此)。
分享題目:如何找到并殺死Linux數(shù)據(jù)中心服務(wù)器上的僵尸進程?
文章來源:http://jinyejixie.com/news/102310.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站營銷、面包屑導(dǎo)航、標(biāo)簽優(yōu)化、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容