linux殺死進(jìn)程命令 linux殺死進(jìn)程的五種方法

如何查找和殺掉Linux中的僵尸進(jìn)程?

Linux 系統(tǒng)中,進(jìn)程就是一個(gè)程序的運(yùn)行實(shí)例。它可能運(yùn)行在前端(比如有交互的進(jìn)程),也可能運(yùn)行在后端(比如無交互或自動(dòng)運(yùn)行的進(jìn)程)。它可能是一個(gè)父進(jìn)程(運(yùn)行期間創(chuàng)建了其他進(jìn)程),也可能是一個(gè)子進(jìn)程(由其他進(jìn)程所創(chuàng)建)。

公司主營業(yè)務(wù):網(wǎng)站建設(shè)、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出和政免費(fèi)做網(wǎng)站回饋大家。

在 Linux 系統(tǒng)中,除 PID 為 0 的第一個(gè) init 進(jìn)程(或 systemd )外,其余進(jìn)程都有父進(jìn)程。進(jìn)程也可以擁有自己的子進(jìn)程。

你可以通過使用 pstree 命令 來查看進(jìn)程的樹型結(jié)構(gòu),你可以清晰的看到各個(gè)進(jìn)程的“家族樹”。

在 Linux 系統(tǒng)中,正常情況下,子進(jìn)程死亡后其父進(jìn)程會(huì)接收到通知進(jìn)行一些例如釋放內(nèi)存之類的清理操作。但是,如果父進(jìn)程未收到通知察覺子進(jìn)程死亡,那么子進(jìn)程就進(jìn)入了“僵死”狀態(tài)。

這就是僵死進(jìn)程產(chǎn)生的原因。

僵尸進(jìn)程并不可怕,少量的僵尸進(jìn)程對(duì)系統(tǒng)影響并不大。但如果系統(tǒng)的內(nèi)存已經(jīng)所剩不多或者有太多的僵尸進(jìn)程在耗掉內(nèi)存,問題會(huì)變得糟糕。

同樣,大部分 Linux 系統(tǒng)進(jìn)程最大 PID 設(shè)置為 32768,如果過多僵尸進(jìn)程導(dǎo)致其他重要任務(wù)沒有 PID 可用,那么你的系統(tǒng)會(huì)發(fā)生崩潰。

特別當(dāng)存在一個(gè)編碼糟糕的程序開始大量產(chǎn)生僵尸進(jìn)程的時(shí)候,這種情況經(jīng)常發(fā)生。在這種情況下,我們就需要找到并殺死僵尸進(jìn)程。

在linux系統(tǒng)中,進(jìn)程有如下幾種狀態(tài),它們隨時(shí)可能處于以上狀態(tài)中的一種:

我們可以在命令終端中通過 top命令 來查看系統(tǒng)進(jìn)程和它的當(dāng)前狀態(tài)。

命令如下:

如上面截圖中看到的,其中共有 250 個(gè)任務(wù)(進(jìn)程),其中 1 個(gè)處在 “運(yùn)行中running” 狀態(tài),248 個(gè)進(jìn)程處于 “休眠sleep” 狀態(tài),還有一個(gè)處于 “僵尸zombie” 狀態(tài)。

現(xiàn)在問題進(jìn)入下一步,如何殺死 “僵尸” 進(jìn)程?

僵尸進(jìn)程對(duì)系統(tǒng)來說就是已經(jīng)死亡的進(jìn)程,那么如何殺掉一個(gè)已經(jīng)死亡的進(jìn)程呢?

方法很簡單,我們只需要通過如下ps命令就可以列舉僵尸進(jìn)程,得到它們的進(jìn)程 ID。

ps ux 命令輸出的第 8 列顯示了進(jìn)程狀態(tài)。上述命令將會(huì)打印所有處在 Z+ 狀態(tài)(表示僵尸狀態(tài))的進(jìn)程。

確認(rèn)了進(jìn)程 ID 后,我們可以得到它的父進(jìn)程 ID:

你也可以將上述兩個(gè)命令結(jié)合在一起,直接得到僵尸進(jìn)程的 PID 及其父進(jìn)程的 PID:

通過以上命令都可以找到僵尸進(jìn)程,然后你就可以通過 kill命 令殺掉了。

或者通過如下命令查看僵尸進(jìn)程:

該命令輸出結(jié)果上你可以直接看出其父進(jìn)程ID,這時(shí)候你直接使用kill命令殺掉即可。

再次運(yùn)行 ps 命令或 top 命令,你可以驗(yàn)證僵尸進(jìn)程是否已經(jīng)被殺死。

通過本文你將認(rèn)識(shí) Linux 系統(tǒng)中的僵尸進(jìn)程以及明白了其產(chǎn)生的主要原因。同時(shí),你也能學(xué)會(huì)如何查找僵尸僵尸進(jìn)程并殺掉僵尸進(jìn)程。

當(dāng)然你也可以自己別寫腳本設(shè)置成定時(shí)運(yùn)行任務(wù)自動(dòng)來替你做這些工作。

4-7 Linux 強(qiáng)殺進(jìn)程 --- kill (kill -9 實(shí)驗(yàn))

kill -9 PID —— 強(qiáng)制殺死一個(gè)進(jìn)程。

1、kill -9 殺死后臺(tái)運(yùn)行的進(jìn)程。

紅色下劃線:sleep 10000 —— 后臺(tái)運(yùn)行延時(shí) 10000 秒的命令,進(jìn)程 ID 為1317。

黃色下劃線:ps —— 列出 1317 sleep 命令的進(jìn)程。

(PID:進(jìn)程 ID、PGID:線程組 ID、SID:會(huì)話 ID、TTY:進(jìn)程運(yùn)行的終端,標(biāo)識(shí)那個(gè)終端控制。(pts遠(yuǎn)程終端、tty系統(tǒng)終端)、TIME:進(jìn)程運(yùn)行的時(shí)間 和 CMD:命令的名稱和參數(shù))。

jobs -l —— 列出后臺(tái)運(yùn)行的命令,1317 sleep 命令正在后臺(tái)運(yùn)行。

藍(lán)色下劃線:kill -9 1317—— 殺死?1317 進(jìn)程。

綠色方框:ps 查詢進(jìn)程,1317 sleep進(jìn)程已經(jīng)被殺死(Killed)。jobs -l 已經(jīng)沒有后臺(tái)運(yùn)行的1317 sleep 命令。

2、kill -9 終止掛起的進(jìn)程。

紅色下劃線:執(zhí)行 sleep 10000 后 ctrl + z 掛起。

黃色下劃線:ps -j 查看進(jìn)程,有 1342 sleep 的進(jìn)程。jobs -l 查看后臺(tái),1342 sleep 的狀態(tài)是 stopped 暫停狀態(tài)。

藍(lán)色下劃線:kill -9 殺死 1342 進(jìn)程。此時(shí)系統(tǒng)沒有反饋信息。

綠色下劃線:ps -j 查看進(jìn)程,1342 sleep 已經(jīng)被殺死(Killed)。jobs -l 查看后臺(tái),已經(jīng)沒有了? 1342?sleep。

從實(shí)驗(yàn)上看:

1、后臺(tái)命令運(yùn)行時(shí)(Running),執(zhí)行 kill -9 可以強(qiáng)殺進(jìn)程。

2、掛起命令,處于暫停狀態(tài)時(shí)(Stopped),執(zhí)行 kill -9 后通過 ps 查詢進(jìn)程, 可以看到進(jìn)程已經(jīng)被殺死。jobs 也查不到有后臺(tái)命令。(這里和 kill -2、kill -15 不一樣。kill -2、kill -15 在掛起命令,處于暫停狀態(tài)時(shí)(Stopped)時(shí)執(zhí)行,通過 ps 還可以查詢到進(jìn)程,jobs 也可以查詢到后臺(tái)仍有處于暫停狀態(tài)的命令。)

Linux終止前臺(tái)進(jìn)程的命令

1、首先,連接相應(yīng)linux主機(jī),進(jìn)入到linux命令行狀態(tài)下,等待輸入shell指令。

2、其次,以終止進(jìn)程號(hào)1984的nginx子進(jìn)程為例,在linux命令行中輸入:kill -9 1984。

3、最后,按下回車鍵執(zhí)行shell指令,此時(shí)會(huì)看到進(jìn)程號(hào)1984的nginx子進(jìn)程被成功終止了。

分享名稱:linux殺死進(jìn)程命令 linux殺死進(jìn)程的五種方法
文章源于:http://bm7419.com/article24/dohpcce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、網(wǎng)站導(dǎo)航、網(wǎng)站營銷、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、用戶體驗(yàn)

廣告

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

h5響應(yīng)式網(wǎng)站建設(shè)