Linux kill 命令用于終止進(jìn)程,其用法步驟如下:

創(chuàng)新互聯(lián)公司長期為成百上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為門源企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、網(wǎng)站制作,門源網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
需要準(zhǔn)備的材料分別是:電腦、linux連接工具。
1、首先連接上linux主機(jī),進(jìn)入命令行狀態(tài)。
2、輸入:ps -ef,按回車,查詢進(jìn)程列表。
3、選擇需要終止的進(jìn)程,例如PID為9977的進(jìn)程,則命令行輸入:kill 9977,按回車即可終止該進(jìn)程。
1、連接上相應(yīng)的linux主機(jī),進(jìn)入到等待輸入shell指令的linux命令行狀態(tài)下。
2、在linux命令行下輸入shell指令:ps -ef|grep nginx|awk '{print $2}'|xargs kill -9。
3、鍵盤按“回車鍵”運行shell指令,此時會看到nginx滿足條件的進(jìn)程被批量關(guān)閉了。
Linux 系統(tǒng)中,進(jìn)程就是一個程序的運行實例。它可能運行在前端(比如有交互的進(jìn)程),也可能運行在后端(比如無交互或自動運行的進(jìn)程)。它可能是一個父進(jìn)程(運行期間創(chuàng)建了其他進(jìn)程),也可能是一個子進(jìn)程(由其他進(jìn)程所創(chuàng)建)。
在 Linux 系統(tǒng)中,除 PID 為 0 的第一個 init 進(jìn)程(或 systemd )外,其余進(jìn)程都有父進(jìn)程。進(jìn)程也可以擁有自己的子進(jìn)程。
你可以通過使用 pstree 命令 來查看進(jìn)程的樹型結(jié)構(gòu),你可以清晰的看到各個進(jìn)程的“家族樹”。
在 Linux 系統(tǒng)中,正常情況下,子進(jìn)程死亡后其父進(jìn)程會接收到通知進(jìn)行一些例如釋放內(nèi)存之類的清理操作。但是,如果父進(jìn)程未收到通知察覺子進(jìn)程死亡,那么子進(jìn)程就進(jìn)入了“僵死”狀態(tài)。
這就是僵死進(jìn)程產(chǎn)生的原因。
僵尸進(jìn)程并不可怕,少量的僵尸進(jìn)程對系統(tǒng)影響并不大。但如果系統(tǒng)的內(nèi)存已經(jīng)所剩不多或者有太多的僵尸進(jìn)程在耗掉內(nèi)存,問題會變得糟糕。
同樣,大部分 Linux 系統(tǒng)進(jìn)程最大 PID 設(shè)置為 32768,如果過多僵尸進(jìn)程導(dǎo)致其他重要任務(wù)沒有 PID 可用,那么你的系統(tǒng)會發(fā)生崩潰。
特別當(dāng)存在一個編碼糟糕的程序開始大量產(chǎn)生僵尸進(jìn)程的時候,這種情況經(jīng)常發(fā)生。在這種情況下,我們就需要找到并殺死僵尸進(jìn)程。
在linux系統(tǒng)中,進(jìn)程有如下幾種狀態(tài),它們隨時可能處于以上狀態(tài)中的一種:
我們可以在命令終端中通過 top命令 來查看系統(tǒng)進(jìn)程和它的當(dāng)前狀態(tài)。
命令如下:
如上面截圖中看到的,其中共有 250 個任務(wù)(進(jìn)程),其中 1 個處在 “運行中running” 狀態(tài),248 個進(jìn)程處于 “休眠sleep” 狀態(tài),還有一個處于 “僵尸zombie” 狀態(tài)。
現(xiàn)在問題進(jìn)入下一步,如何殺死 “僵尸” 進(jìn)程?
僵尸進(jìn)程對系統(tǒng)來說就是已經(jīng)死亡的進(jìn)程,那么如何殺掉一個已經(jīng)死亡的進(jìn)程呢?
方法很簡單,我們只需要通過如下ps命令就可以列舉僵尸進(jìn)程,得到它們的進(jìn)程 ID。
ps ux 命令輸出的第 8 列顯示了進(jìn)程狀態(tài)。上述命令將會打印所有處在 Z+ 狀態(tài)(表示僵尸狀態(tài))的進(jìn)程。
確認(rèn)了進(jìn)程 ID 后,我們可以得到它的父進(jìn)程 ID:
你也可以將上述兩個命令結(jié)合在一起,直接得到僵尸進(jìn)程的 PID 及其父進(jìn)程的 PID:
通過以上命令都可以找到僵尸進(jìn)程,然后你就可以通過 kill命 令殺掉了。
或者通過如下命令查看僵尸進(jìn)程:
該命令輸出結(jié)果上你可以直接看出其父進(jìn)程ID,這時候你直接使用kill命令殺掉即可。
再次運行 ps 命令或 top 命令,你可以驗證僵尸進(jìn)程是否已經(jīng)被殺死。
通過本文你將認(rèn)識 Linux 系統(tǒng)中的僵尸進(jìn)程以及明白了其產(chǎn)生的主要原因。同時,你也能學(xué)會如何查找僵尸僵尸進(jìn)程并殺掉僵尸進(jìn)程。
當(dāng)然你也可以自己別寫腳本設(shè)置成定時運行任務(wù)自動來替你做這些工作。
網(wǎng)站欄目:linux命令殺死進(jìn)程,linux命令行殺死進(jìn)程
轉(zhuǎn)載來源:http://chinadenli.net/article32/dsgjcsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、定制開發(fā)、電子商務(wù)、做網(wǎng)站、動態(tài)網(wǎng)站、企業(yè)建站
聲明:本網(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)