如何找到并殺死Linux數(shù)據(jù)中心服務(wù)器上的僵尸進(jìn)程?

2021-02-22    分類: 網(wǎng)站建設(shè)

Linux進(jìn)程經(jīng)常誤入歧途,什么都不做,甚至不耗用CPU周期。雖然僵尸進(jìn)程不像運(yùn)行中的流氓應(yīng)用程序那樣占用寶貴資源,但可能會(huì)構(gòu)成威脅。如何構(gòu)成威脅?某個(gè)進(jìn)程成為僵尸進(jìn)程時(shí),它保留其進(jìn)程ID(PID)。由于Linux系統(tǒng)的PID數(shù)量有限(不過(guò)數(shù)量很大),如果足夠的PID淪為僵尸,其他進(jìn)程就無(wú)法啟動(dòng)。

發(fā)生這種情況的可能性非常小。然而更重要的是,僵尸進(jìn)程表明應(yīng)用程序出現(xiàn)了岔子,某個(gè)程序中可能存在著錯(cuò)誤。不應(yīng)容忍數(shù)據(jù)中心軟件上的錯(cuò)誤,需要加以解決。你可能需要檢查并殺死僵尸進(jìn)程,才能解決問(wèn)題。

因此,某個(gè)進(jìn)程成為僵尸進(jìn)程時(shí),你怎么做?你要找到并殺死那些僵尸進(jìn)程。下面教你怎么做。

找出僵尸進(jìn)程

首先要做的是找出僵尸進(jìn)程。幸好,由于ps命令,這很簡(jiǎn)單。通過(guò)grep顯示ps命令的輸出,列出STAT是Z(代表僵尸)的任何進(jìn)程。打開(kāi)終端窗口,執(zhí)行下列命令:

  1. ps aux | grep 'Z' 

上述命令的輸出將列出輸出中包含Z的任何進(jìn)程(圖A)。

圖A

如你所見(jiàn),許多運(yùn)行中的進(jìn)程呈僵尸狀態(tài)。該命令還將列出輸出中包含字母Z的任何進(jìn)程,因此你要忽略STAT列中沒(méi)有Z的任何進(jìn)程。

殺死僵尸進(jìn)程

我們想要使用kill命令來(lái)終結(jié)那些僵尸進(jìn)程。第一個(gè)命令的輸出將包括所有僵尸進(jìn)程的PID,因此想終結(jié)其中一個(gè),只要執(zhí)行命令:

  1. kill PID 

其中PID是相關(guān)進(jìn)程的進(jìn)程ID。因此,如果你想終終結(jié)淪為僵尸的thunderbird進(jìn)程(其PID是20589),命令是:

  1. kill 20589 

就是這樣。

你完全可以編寫一個(gè)bash腳本來(lái)自動(dòng)處理這項(xiàng)任務(wù),不過(guò)可能會(huì)殺死必要進(jìn)程。由于存在這個(gè)風(fēng)險(xiǎn),我總是建議你手動(dòng)處理此任務(wù)??紤]到我們面對(duì)的是生產(chǎn)級(jí)數(shù)據(jù)中心服務(wù)器(不過(guò)我在桌面系統(tǒng)上進(jìn)行了演示),尤其應(yīng)該這樣。

如果你發(fā)現(xiàn)服務(wù)和應(yīng)用程序崩潰,應(yīng)該檢查有無(wú)僵尸進(jìn)程,并終結(jié)它們。一旦你知道了哪些進(jìn)程是僵尸進(jìn)程,應(yīng)提交錯(cuò)誤報(bào)告,或者聯(lián)系并告知開(kāi)發(fā)人員(如果應(yīng)用程序常常崩潰,更應(yīng)如此)。

網(wǎng)站標(biāo)題:如何找到并殺死Linux數(shù)據(jù)中心服務(wù)器上的僵尸進(jìn)程?
網(wǎng)站鏈接:http://www.bm7419.com/news10/102310.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、靜態(tài)網(wǎng)站、網(wǎng)站策劃、網(wǎng)站內(nèi)鏈、動(dòng)態(tài)網(wǎng)站、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化