成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何找到并殺掉 Linux 系統(tǒng)中的僵尸進(jìn)程

系統(tǒng) Linux
這是一個關(guān)于如何尋找 Linux 系統(tǒng)僵尸進(jìn)程并殺死它們的小知識。你也可以從中了解到關(guān)于進(jìn)程和僵尸進(jìn)程的一些知識。

[[430872]]

這是一個關(guān)于如何尋找 Linux 系統(tǒng)僵尸進(jìn)程并殺死它們的小知識。你也可以從中了解到關(guān)于進(jìn)程和僵尸進(jìn)程的一些知識。

在了解僵尸進(jìn)程之前,讓我們來復(fù)習(xí)一下什么是 Linux 進(jìn)程。

簡而言之,進(jìn)程 是一個程序的運(yùn)行實(shí)例。它可能運(yùn)行在前端(比如有交互的進(jìn)程),也可能運(yùn)行在后端(比如無交互或自動運(yùn)行的進(jìn)程)。它可能是一個父進(jìn)程(運(yù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),你能看到系統(tǒng)各個進(jìn)程的“家族樹”。

Linux系統(tǒng)里的僵尸進(jìn)程是什么?

子進(jìn)程死亡后,它的父進(jìn)程會接收到通知去執(zhí)行一些清理操作,如釋放內(nèi)存之類。然而,若父進(jìn)程并未察覺到子進(jìn)程死亡,子進(jìn)程就會進(jìn)入到“僵尸zombie”狀態(tài)。從父進(jìn)程角度看,子進(jìn)程仍然存在,即使子進(jìn)程實(shí)際上已經(jīng)死亡。這就是“僵尸進(jìn)程zombie process”(也被稱為“已消失進(jìn)程defunct process”)是如何產(chǎn)生并存在于系統(tǒng)中的。

這里有一個來自 Turnoff.us 的關(guān)于僵尸進(jìn)程的非常有趣的看法: 

Image credit: Turnoff.us

你真的需要關(guān)心僵尸進(jìn)程嗎?

重點(diǎn)要說的是,僵尸進(jìn)程并沒有像它的名稱那樣看起來可怕。

但如果系統(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ā)生崩潰。

這是真實(shí)可能發(fā)生的,它有一定的概率,特別當(dāng)存在一個編碼糟糕的程序開始大量產(chǎn)生僵尸進(jìn)程的時候。

在這種情況下,找到并殺死僵尸進(jìn)程是一個明智的做法。

如何找到僵尸進(jìn)程

Linux 系統(tǒng)中的進(jìn)程可能處于如下狀態(tài)中的一種:

  • D = 不可中斷的休眠
  • I = 空閑
  • R = 運(yùn)行中
  • S = 休眠
  • T = 被調(diào)度信號終止
  • t = 被調(diào)試器終止
  • Z = 僵尸狀態(tài)

那如何查看進(jìn)程和它的當(dāng)前狀態(tài)呢?一個簡單的方法是在終端中使用 top 命令。 

Top command show processes and their status

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

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

如何找到并殺死一個僵尸進(jìn)程?僵尸進(jìn)程能被殺死嗎?

僵尸進(jìn)程已經(jīng)死了,要如何才能殺死一個已經(jīng)死亡的進(jìn)程呢?

在僵尸電影中,你可以射擊僵尸的頭部或燒掉它們,但在這里是行不通的。你可以一把火燒了系統(tǒng)來殺死僵尸進(jìn)程,但這并不是一個可行的方案。

一些人建議發(fā)送 SIGCHLD 給父進(jìn)程,但這個信號很可能會被忽略。還有一個方法是殺死父進(jìn)程來殺死僵尸進(jìn)程,這聽起來很野蠻,但它卻是唯一能確保殺死僵尸進(jìn)程的方法。

首先,通過在終端中 使用 ps 命令 我們列舉僵尸進(jìn)程,得到它們的進(jìn)程 ID:

  1. ps ux | awk '{if($8=="Z+") print}'

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

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

  1. ps -o ppid= -p <child_id>

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

  1. ps -A -ostat,pid,ppid | grep -e '[zZ]'

現(xiàn)在你得到了父進(jìn)程 ID,使用命令行和得到的 ID 號 終于可以殺死進(jìn)程了

  1. kill -9 <parent_process_ID> 

Killing parent process

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

恭喜!現(xiàn)在你知道怎么清理僵尸進(jìn)程了。 

 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2017-12-15 09:40:47

Linux僵尸進(jìn)程

2024-02-05 18:23:23

父進(jìn)程應(yīng)用程序程序

2019-05-09 08:00:14

Linux服務(wù)器安全僵尸網(wǎng)絡(luò)

2021-11-06 10:17:38

Linux僵尸進(jìn)程

2021-11-08 10:30:30

Linux僵尸命令

2018-05-31 11:58:06

Linux進(jìn)程Early OOM

2020-10-10 11:02:09

Linux 系統(tǒng) 數(shù)據(jù)

2019-05-29 14:19:11

網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全技術(shù)周刊

2010-04-16 17:35:39

Oracle進(jìn)程

2010-04-22 15:26:53

Oracle進(jìn)程

2022-12-12 11:14:06

LinuxID

2021-11-01 12:13:53

Linux僵尸進(jìn)程

2021-09-14 13:25:23

容器pod僵尸進(jìn)程

2010-06-19 14:38:37

2010-06-21 08:57:31

2018-10-17 09:20:31

Linux命令重復(fù)文件

2010-09-07 13:03:22

2012-11-19 17:15:21

2023-11-07 14:58:26

2024-06-12 11:26:04

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲一区二区在线视频 | 国产精品视频 | 天天草天天射 | 青青草华人在线视频 | 毛片网站免费观看 | 免费午夜电影 | 成人免费xxxxx在线视频 | 一区二区在线视频 | 国产一级视屏 | 成人精品一区二区 | 久久精品久久久久久 | 日韩欧美精品在线 | 久久久女女女女999久久 | 欧区一欧区二欧区三免费 | 亚洲一区影院 | 久久国产精品一区二区三区 | 亚洲aⅴ | 色女人天堂 | 在线永久看片免费的视频 | av一区在线观看 | 麻豆91精品91久久久 | 久久久久一区二区三区 | 在线视频日韩 | avav在线看 | 精品一二三区 | 国产精品视频观看 | 亚洲色综合 | 成人福利影院 | 在线视频一区二区三区 | 日韩精品一区二区三区中文字幕 | 成人综合一区二区 | 久久高清精品 | 久久国产精品一区二区三区 | 亚洲精品国产综合区久久久久久久 | 在线日韩欧美 | 中文字幕加勒比 | 亚洲精品久久久久中文字幕欢迎你 | 欧美成人一区二区三区 | 日本在线免费看最新的电影 | 女同videos另类 | 伊人影院在线观看 |