91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在Linux終止僵尸進程

CHANBAEK ? 來源:myfreax ? 作者:myfreax ? 2022-12-12 17:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在了解Zombie進程之前,讓我回憶一下什么是進程。簡而言之,進程是程序實例。它可以是前臺的交互式進程或后臺的非交互式或自動進程。

它可以是父進程,運行時其他進程的創(chuàng)建者。也可以是子進程是由其它進程創(chuàng)建的進程。

Linux除了第一個PID為0的init/systemd初始化進程外,其他每個進程都有一個父進程。

使用pstree命令在終端中的查看進程樹時,也可以查看系統(tǒng)進程的族普。在本教程中將說明如何在Linux終止僵尸進程。

僵尸進程

當子進程死亡時,會通知父進程,以便它可以進行一些清理,例如釋放內存等。

但是存在另一種例外情況是,當子進程比父進程先結束,而父進程又沒有回收子進程,釋放子進程占用的資源。此時子進程將成為一個僵尸進程。

僵尸進程危害

實話說僵尸進程并不像它的名字聽起來那么危險。如果您的系統(tǒng)內存有限或者有太多僵尸進程占用內存,則可能會出現(xiàn)問題。

此外,現(xiàn)在的Linux發(fā)行版都可以將進程PID的最大值設置為32768。如果系統(tǒng)進程沒有可用的ID,您的系統(tǒng)可能會崩潰。

這種情況很少發(fā)生,但有可能發(fā)生,如果一個編碼不當?shù)某绦蜷_始產生大量僵尸進程。在這種情況下,最好找到并終止僵尸進程。

查找僵尸進程

Linux中的進程可以是這些狀態(tài)之一,D不間斷睡眠,I空閑,R正在運行,S睡眠,T由進程制信號終止,t在跟蹤狀態(tài),通常是被調試器停止。Z僵尸進程。

在查找僵尸進程不妨是先要確認Linux系統(tǒng)存在多少的僵尸進程運行top命令,top命令輸出的第二行行尾包行僵尸進程的計數(shù)1 zombie

現(xiàn)在Linux系統(tǒng)僅僅存在一個僵尸進程,因此,我們可以不用終止它。但是當系統(tǒng)存在大量的僵尸進程的你可能就需要終止他們。

要找到Linux系統(tǒng)存在僵尸進程,最簡單方法使用ps命令列出所有進程,然后通過管道傳遞awk命令根據(jù)進程狀態(tài)過濾僵尸進程。

top
ps ux | awk '{if($8=="Z+") print}'
top - 22:34:07 up 12:11,  1 user,  load average: 1.82, 1.83, 1.64
Tasks: 393 total,   1 running, 391 sleeping,   0 stopped,   1 zombie

終止僵尸進程

僵尸進程已經死了,你如何殺死一個已經死的進程。在僵尸電影中,你可以射擊僵尸的頭部或放火燒它。

但在這里不是一個很好選項。你可以燒毀你的系統(tǒng)來殺死僵尸進程,但這不是一個很好的解決方案。

有些人建議向父進程發(fā)送SIGCHLD信號。但它更有可能被忽視。殺死僵尸進程的另一個選擇是殺死其父進程。

這聽起來很殘酷,但這是殺死僵尸進程的唯一可靠方法。在終止僵尸進程之前。讓我們列出僵尸進程PID。這一點可以在終端運行ps命令來實現(xiàn)。

ps ux命令輸出的第8列是進程的狀態(tài)。這里通過awk命令僅打印進程狀態(tài)為Z+的進程,Z+表示僵尸進程。

確定僵尸進程PID后,讓我們獲取其父進程PID,運行命令ps -o ppid= -p child_process_idchild_process_id是僵尸進程PID。

你也可以運行兩個命令的組合命令ps -A -ostat,pid,ppid | grep -e '[zZ]',命令將直接提供僵尸進程的PID及其父進程的PID。

ps ux | awk '{if($8=="Z+") print}'
ps -o ppid= -p child_process_id_number

ps -A -ostat,pid,ppid | grep -e '[zZ]'
Z+      1828    1754

Z+是子進程的狀態(tài),1828是子進程PID,1754是父進程PID。

現(xiàn)在您獲得了父進程PID,最后運行命令sudo kill -9 parent_process_ID終止進程。parent_process_ID是父進程PID。

當終止父進程后可以再次運行命令ps ux | awk '{if($8=="Z+") print}',確認是否終止僵尸進程,也可以運行top命令查看僵尸進程的計數(shù)。

kill -9 
ps ux | awk '{if($8=="Z+") print}'

結論

至此,你已經了解什么是僵尸進程,為什么要終止僵尸進程,如何查找僵尸進程以及終止僵尸進程。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11509

    瀏覽量

    213742
  • 進程
    +關注

    關注

    0

    文章

    207

    瀏覽量

    14277
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Linux系統(tǒng)下進程的幾種狀態(tài)介紹

    文章對 Linux 系統(tǒng)下進程的幾種狀態(tài)進行介紹,并對系統(tǒng)出現(xiàn)大量僵尸進程和不可中斷進程的場景進行分析,使用常用的幾種工具進行問題分析定位。
    發(fā)表于 11-24 16:15 ?1.4w次閱讀
    <b class='flag-5'>Linux</b>系統(tǒng)下<b class='flag-5'>進程</b>的幾種狀態(tài)介紹

    Linux學習雜談】之進程的誕生和消失

    死機。 來看下幾個進程的概念:僵尸進程:(1)子進程先于父進程結束Linux系統(tǒng)設計的時候,當每
    發(fā)表于 09-01 20:38

    孤兒進程僵尸進程

    前段時間,由于研究經典面試題,把孤兒進程僵尸進程也總結了一下。我們有這樣一個問題:孤兒進程僵尸進程
    發(fā)表于 11-29 14:08

    Linux下的進程結構

    進程不但包括程序的指令和數(shù)據(jù),而且包括程序計數(shù)器和處理器的所有寄存器及存儲臨時數(shù)據(jù)的進程堆棧,因此正在執(zhí)行的進程包括處理器當前的一切活動。 因為Linux是一個多
    發(fā)表于 05-27 09:24

    什么是僵尸進程和孤兒進程

    在UNIX里,除了進程0(即PID=0的交換進程,Swapper Process)以外的所有進程都是由其他進程使用系統(tǒng)調用fork創(chuàng)建的,這里調用fork創(chuàng)建新
    發(fā)表于 08-02 08:36

    為什么會出現(xiàn)LINUX僵尸進程

    僵尸進程出現(xiàn)在父進程沒有回收子進程的PCB的時候,這個時候子進程已經結束,但是父進程沒有回收他,
    發(fā)表于 08-07 06:48

    Linux守護進程詳解

    較長的進程,通常獨立于控制終端并且周期性地執(zhí)行某種任務或等待處理某些發(fā)生的事件。守護進程常常在系統(tǒng)引導載入時啟動,在系統(tǒng)關閉時終止Linux有很多系統(tǒng)服務,大多數(shù)服務都是通過守護
    發(fā)表于 10-18 14:24 ?0次下載
    <b class='flag-5'>Linux</b>守護<b class='flag-5'>進程</b>詳解

    僵尸進程的產生介紹和危害以及解決方法

    如果你經常使用 Linux,你應該遇到這個術語“僵尸進程Zombie Processes”。 那么什么是僵尸進程? 它們是怎么產生的? 它們
    的頭像 發(fā)表于 12-18 15:56 ?6040次閱讀
    <b class='flag-5'>僵尸</b><b class='flag-5'>進程</b>的產生介紹和危害以及解決方法

    什么是僵尸進程_Linux僵尸進程可以被“殺死”嗎?

    首先要明確一點,僵尸進程的含義是:子進程已經死了,但是父進程還沒有wait它的一個中間狀態(tài),這個時候子進程是一個
    的頭像 發(fā)表于 07-28 10:09 ?4904次閱讀
    什么是<b class='flag-5'>僵尸</b><b class='flag-5'>進程</b>_<b class='flag-5'>Linux</b><b class='flag-5'>僵尸</b><b class='flag-5'>進程</b>可以被“殺死”嗎?

    你知道僵尸進程是個什么東西?

    在UNIX系統(tǒng)中,僵尸進程是指完成執(zhí)行(通過exit系統(tǒng)調用,或運行時發(fā)生致命錯誤或收到終止信號所致)但在操作系統(tǒng)的進程表中仍然有一個表項(進程
    發(fā)表于 04-22 17:50 ?1335次閱讀

    Linux 系統(tǒng)中僵尸進程

    Linux 系統(tǒng)中僵尸進程和現(xiàn)實中僵尸(雖然我也沒見過)類似,雖然已經死了,但是由于沒人給它們收尸,還能四處走動。僵尸
    發(fā)表于 04-02 14:40 ?543次閱讀

    Linux數(shù)據(jù)中心服務器上的僵尸進程怎樣正確的處理

    。雖然僵尸進程不像運行中的流氓應用程序那樣占用寶貴資源,但可能會構成威脅。
    發(fā)表于 09-30 17:29 ?969次閱讀
    <b class='flag-5'>Linux</b>數(shù)據(jù)中心服務器上的<b class='flag-5'>僵尸</b><b class='flag-5'>進程</b>怎樣正確的處理

    Linux僵尸進程會被殺死嗎?

    那么,根據(jù)POSIX標準關于信號(signal)的定義,當我們執(zhí)行kill -9 4730(4730是4730和4731的TGID,也是整個進程用戶態(tài)視角的PID)的時候,是要殺死整個4730進程的,所以這個時候4731被我們殺死,整個
    發(fā)表于 08-07 16:48 ?488次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>僵尸</b><b class='flag-5'>進程</b>會被殺死嗎?

    linux下開發(fā)避免僵尸進程的方法

    進程ID,退出狀態(tài),占用的資源等等),你可能會問,為什么這么麻煩,直接釋放完資源不就行了嗎?這是因為有時它的父進程想了解它的退出狀態(tài)。在子進程退出但還未被其父進程“收尸”之前,該子
    的頭像 發(fā)表于 11-11 16:38 ?926次閱讀
    <b class='flag-5'>linux</b>下開發(fā)避免<b class='flag-5'>僵尸</b><b class='flag-5'>進程</b>的方法

    如何查看系統(tǒng)是否有僵尸進程

    進程中的指令已經執(zhí)行完成,但是進程PCB結構還沒有回收。   即子進程先于父進程退出后,子進程的PCB需要其父
    的頭像 發(fā)表于 11-29 15:52 ?8412次閱讀
    如何查看系統(tǒng)是否有<b class='flag-5'>僵尸</b><b class='flag-5'>進程</b>
    主站蜘蛛池模板: 欧美在线不卡视频 | 欧美成人a | 中国一级毛片aaa片 中国一级特黄aa毛片大片 | 特黄特色大片免费视频大全 | 激情文学亚洲色图 | 欧美激情 在线 | 一级三级黄色片 | 免费特黄视频 | 天天天天操 | 欧美天天射 | 欧美久操 | 国产吧在线视频 | 3344在线观看永久免费 | 国产一卡2卡3卡四卡精品网站 | 日韩午夜r电影在线观看 | 色午夜在线 | 色爱区综合激情五月综合激情 | 黑人破乌克兰美女处 | 四虎在线永久免费视频网站 | 特级毛片aaaaaa蜜桃 | 羞羞视频靠逼视频大全 | 精品国产乱码久久久久久浪潮 | 欧美freesex | 天堂资源在线官网bt | 亚洲免费黄色网 | 免费无码看av的网站 | 四虎影视院 | 国产精品天天影视久久综合网 | 很黄的网站在线观看 | 国产精品特黄毛片 | 美女免费视频一区二区三区 | 色色色色色色色色色色色色色色 | 久久激情五月 | 牛牛a级毛片在线播放 | 欧美综合精品一区二区三区 | 日韩成人免费观看 | 日本黄色短视频 | 色丁香在线观看 | 久久天天丁香婷婷中文字幕 | 日韩高清性爽一级毛片免费 | 色多多视频成人影院 |