导航:首页 > 编程系统 > linuxzombiedefunct

linuxzombiedefunct

发布时间:2023-05-13 07:31:15

㈠ 如何kill杀掉linux系统中的僵尸defunct进程

Linux 中如何杀掉僵尸进程 1) 检查当前僵尸进程信息 # ps -ef | grep defunct | grep -v grep | wc -l 175 # top | head -2 top - 15:05:54 up 97 days, 23:49, 4 users, load average: 0.66, 0.45, 0.39 Tasks: 829 total, 1 running, 479 sleeping, 174 stopped, 175 zombie # ps -ef | grep defunct | grep -v grep 2) 获得杀僵尸进程语句 # ps -ef | grep defunct | grep -v grep | awk '{print "kill -9 " $2,$3}' 执行上面获得的语句即可, 使用信号量9, 僵尸进程数会大大减少. 3) 过一会儿检查当前僵尸进程信息 # ps -ef | grep defunct | grep -v grep | wc -l 125 # top | head -2 top - 15:29:26 up 98 days, 12 min, 7 users, load average: 0.27, 0.54, 0.56 Tasks: 632 total, 1 running, 381 sleeping, 125 stopped, 125 zombie 发现僵尸进程数减少了一些, 但还有不少啊. 4) 再次获得杀僵尸进程语句 # ps -ef | grep defunct | grep -v grep | awk '{print "kill -18 " $3}' 执行上面获得的语句即可, 这次使用信

㈡ Linux中如何杀掉僵尸进程

1、使用top命令就可以查看到僵尸进程。

说明:不是查不出僵尸进程,是因为我重启了系统,没有僵尸进程。

3、杀死僵尸进程

#kill -9 pid号


㈢ ubuntu Linux怎么解决僵尸进程

inux 允许进程查询内核以获得其父进程的 PID,或者其任何子进程的执行状态。例如,进程可以创建一个子进程来执行特定的任务,然后调用诸如 wait() 这样的一些库函数检查子进程是否终止。如果子进程已经终止,那么,它的终止代号将告诉父进程这个任务是否已成功地完成。
为了遵循这些设计原则,不允许 Linux 内核在进程一终止后就丢弃包含在进程描述符字段中的数据。只有父进程发出了与被终止的进程相关的 wait() 类系统调用之后,才允许这样做。这就是引入僵死状态的原因:尽管从技术上来说进程已死,但必须保存它的描述符,直到父进程得到通知。
如果一个进程已经终止,但是它的父进程尚未调用 wait() 或 waitpid() 对它进行清理,这时的进程状态称为僵死状态,处于僵死状态的进程称为僵尸进程(zombie process)。任何进程在刚终止时都是僵尸进程,正常情况下,僵尸进程都立刻被父进程清理了

㈣ ubuntu Linux怎么解决僵尸进程

如何查看linux系统上的僵尸进程,如何统计有多少僵尸进程?

#ps -ef | grep defunct

或者查找状态为Z的进程,Z就是代表zombie process,僵尸进程的意思。

另外使用top命令查看时有一栏为S,如果状态为Z说明它就是僵尸进程。

Tasks: 95 total, 1 running, 94 sleeping, 0 stopped, 0 zombie

top命令中也统计了僵尸进程。或者使用下面的命令:

ps -ef | grep defunct | grep -v grep | wc -l

如何杀死僵尸进程呢?
一般僵尸进程很难直接kill掉,不过您可以kill僵尸爸爸。父进程死后,僵尸进程成为”孤儿进程”,过继给1号进程init,init始终会负责清理僵尸进程.它产生的所有僵尸进程也跟着消失。

ps -e -o ppid,stat | grep Z | cut -d” ” -f2 | xargs kill -9



kill -HUP `ps -A -ostat,ppid | grep -e ’^[Zz]‘ | awk ’{print $2}’`

当然您可以自己编写更好的shell脚本,

㈤ linux的ps命令

linux命令ps详解:

  1. 使用权限:所有使用者(用户)

    使用方式:ps [options] [--help]
    说明:显示瞬间行程 (process) 的动态
    参数:ps的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
    -A 列出所有的进程
    -w 显示加宽可以显示较多的资讯
    -au 显示较详细的资讯
    -aux 显示所有包含其他使用者的行程

  2. 常用参数:

    -A 显示所有进程(等价于-e)(utility)

    -a 显示一个终端的所有进程,除了会话引线

    -N 忽略选择。

    -d 显示所有进程,但省略所有的会话引线(utility)

    -x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用(utility)

    -p pid 进程使用cpu的时间

    -u uid or username 选择有效的用户id或者是用户名

    -g gid or groupname 显示组的所有进程。

    U username 显示该用户下的所有进程,且显示各个命令的详细路径

    -f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on

    -l 长格式(有F,wchan,C 等字段)

    -j 作业格式

    -o 用户自定义格式

    v 以虚拟存储器格式显示

    s 以信号格式显示

    -m 显示所有的线程

    -H 显示进程的层次(和其它的命令合用

    e 命令之后显示环境

    h 不显示第一行

  3. 最常用的方法是ps -aux,然后再ps命令常用用法(方便查看系统进程)

    1)ps a 显示现行终端机下的所有程序,包括其他用户的程序

    2)ps -A 显示所有进程

    3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示

    4)ps -e 此参数的效果和指定"A"参数相同

    5)ps e 列出程序时,显示每个程序所使用的环境变量

    6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系

    7)ps -H 显示树状结构,表示程序间的相互关系

    8)ps -N 显示所有的程序,除了执行ps指令终机下的程序之外

    9)ps s 采用程序信号的格式显示程序状况

    10)ps S 列出程序时,包括已中断的子程序资料

    11)ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况

    12)ps u 以用户为主的格式来显示程序状况

    13)ps x 显示所有程序,不以终端机来区分

    最常用的方法是ps -aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。

㈥ 求助linux下ps命令显示含义.

分类: 电脑/网络 >> 操作系统/系统故障
问题描述:

linux下ps命令后的毁森status项

显示Rs代表什纤搏亩么含义,

R表示run

s代表sleep

那么R与s合起来是什么?

以及大写S与小写s有什么区别.

经常看到Ss的状态。

解银丛析:

刚刚装了RHEL5β2版本

发现这个版本的ps和top里面是有Ss的

man了一下 ps和top

解释如下

PROCESS STATE CODES

Here are the different values that the s, stat and state output specifiers

(header "STAT" or "S") will display to describe the state of a process.

D Uninterruptible sleep (usually IO)

R Running or runnable (on run queue)

S Interruptible sleep (waiting for an event to plete)

T Stopped, either by a job control signal or because it is being traced.

W paging (not valid since the 2.6.xx kernel)

X dead (should never be seen)

Z Defunct ("zombie") process, terminated but not reaped by its parent.

For BSD formats and when the stat keyword is used, additional characters may

be displayed:

< high-priority (not nice to other users)

N low-priority (nice to other users)

L has pages locked into memory (for real-time and custom IO)

s is a session leader

l is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)

+ is in the foreground process group

㈦ Linux下面ps -o是什么意思

ps命令的-o参数,抄是说明用户自定义格式。比如-o pid= -o cmd= 就是让ps命令分别显示进程的pid和相应的命令和详细参数,这样ps命令就不会像默认的那样显示很多其他内容了,而只显示你关心的部分。如下图所示:

㈧ Linux里面什么是僵尸进程

僵尸进程是当子进程比父进程先结束,而父进程又没有回收子进程,释放手郑行子进程占用的资源,此时子进程都将成为一个僵尸进程。如果父进程先退出,子进程被init接管,子丛孙进程退出后init会收回其占用的相关资源。

我们都知道进程的工作原毕哗理。我们启动一个程序,开始我们的任务,然后等任务结束了,我们就停止这个进程。进程停止后,该进程就会从进程表中移除。

你可以通过System-Monitor查看当前进程。

In UNIX System terminology, a process that has terminated,but whose parent
has not yet waited for it, is called a
zombie.在Unix系统中,一个进程结束了,但是它的父进程没有等待它,那么它将变成一个僵尸进程。但是如果该进程的父进程已经先结束了,那么该进程就不会变僵尸进程,因为每个进程结束的时候,系统都会扫描当前系统中所运行的所有进程,看有没有哪个进程是刚刚结束的这个进程的子进程,如果是的话,就由init来接管他,成为他的父进程。

怎么查看僵尸进程?

利用命令ps,可以看到有父进程ID为1的进程是孤儿进程;s状态为z的是僵尸进程。

注意:孤儿进程是尚未终止但已停止的进程,但其父进程已经终止,由init收养;而僵尸进程则是已终止的进程,其父进程不一定终止。

㈨ 如何察看僵尸进程 zombie

因为没有指出是什么系统,我这里回答一下Linux下如何通过ps命令来查看僵尸进程:

ps的帮助文档中有指出,僵尸进程会被标记为defunct。

Processesmarked<defunct>aredeadprocesses(so-called"zombies")thatremain
.
(8)iftheparentprocessexits.

所以通过下面命令可以查找出僵尸进程:

psaux|grepdefunct

㈩ 如何找到并终止 Linux 系统中的僵尸进程

在了解僵尸进程之前,让我们来复习一下什么是 Linux 进程。

简而言之, 进程 [1] 是一个程序的运行实例。它可能运行在前端(比如有交互的进程),也可能运行在后端(比如无交互或自动运行的进程)。它可能是一个父进程(运行期间创建了其他进程),也可能是一个子进程(由其他进程所创建)。

在 Linux 系统中,除 PID 为 0 的第一个 init 进程(或 systemd )外,其余进程都有父进程。进程也可以拥有自己的子进程。

不相信?可以试试在终端中使用 pstree 命令查看进程的树型结构,你能看到系统各个进程的“家族树”。

子进程死亡后,它的父进程会接收到通知去执行一些清理操作,如释放内存之类。然而,若父进程并未察觉到子进程死亡,子进程就会进入到“<ruby style="box-sizing: border-box;">僵尸<rt style="box-sizing: border-box;">zombie</rt></ruby>”状态。从父进程角度看,子进程仍然存在,即使子进程实际上已经死亡。这就是“<ruby style="box-sizing: border-box;">僵尸进程<rt style="box-sizing: border-box;">zombie process</rt></ruby>”(也被称为“<ruby style="box-sizing: border-box;">已消失进程<rt style="box-sizing: border-box;">defunct process</rt></ruby>”)是如何产生并存在于系统中的。

这里有一个来自 Turnoff.us [2] 的关于僵尸进程的非常有趣的看法:

Image credit: Turnoff.us

重点要说的是,僵尸进程并没有像它的名称那样看起来可怕。

但如果系统的内存已经所剩不多或者有太多的僵尸进程在吃掉内存,问题会变得糟糕。同样,大部分 Linux 系统进程最大 PID 设置为 32768,如果过多僵尸进程导致其他重要任务没有 PID 可用,你的系统会发生崩溃。

这是真实可能发生的,它有一定的概率,特别当存在一个编码糟糕的程序开始大量产生僵尸进程的时候。

在这种情况下,找到并杀死僵尸进程是一个明智的做法。

Linux 系统中的进程可能处于如下状态中的一种:

那如何查看进程和它的当前状态呢?一个简单的方法是在终端中使用 top 命令 [3]。

Top command show processes and their status

正如你在上面截图中看到的,截图中共有 250 个任务(进程),其中 1 个处在 “<ruby style="box-sizing: border-box;">运行中<rt style="box-sizing: border-box;">running</rt></ruby>” 状态,248 个进程处于 “<ruby style="box-sizing: border-box;">休眠<rt style="box-sizing: border-box;">sleep</rt></ruby>” 状态,还有一个处于 “<ruby style="box-sizing: border-box;">僵尸<rt style="box-sizing: border-box;">zombie</rt></ruby>” 状态。

现在问题进入下一步,如何杀死 “僵尸” 进程?

僵尸进程已经死了,要如何才能杀死一个已经死亡的进程呢?

在僵尸电影中,你可以射击僵尸的头部或烧掉它们,但在这里是行不通的。你可以一把火烧了系统来杀死僵尸进程,但这并不是一个可行的方案。

一些人建议发送 SIGCHLD 给父进程,但这个信号很可能会被忽略。还有一个方法是杀死父进程来杀死僵尸进程,这听起来很野蛮,但它却是唯一能确保杀死僵尸进程的方法。

首先,通过在终端中 使用 ps 命令 [4] 我们列举僵尸进程,得到它们的进程 ID:

<pre class="prettyprint linenums" style="box-sizing: border-box; overflow: hidden; font: 400 12px / 20px "courier new"; display: block; padding: 10px 15px; margin: 20px 0px; color: rgb(248, 248, 212); word-break: break-all; overflow-wrap: break-word; background: rgb(39, 40, 34); border: none; border-radius: 4px; box-shadow: rgb(57, 56, 46) 40px 0px 0px inset, rgb(70, 71, 65) 41px 0px 0px inset; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">

</pre>

ps ux 命令输出的第 8 列显示了进程状态。上述命令只会打印所有处在 Z+ 状态(表示僵尸状态)的进程。

确认了进程 ID 后,我们可以得到它的父进程 ID:

<pre class="prettyprint linenums" style="box-sizing: border-box; overflow: hidden; font: 400 12px / 20px "courier new"; display: block; padding: 10px 15px; margin: 20px 0px; color: rgb(248, 248, 212); word-break: break-all; overflow-wrap: break-word; background: rgb(39, 40, 34); border: none; border-radius: 4px; box-shadow: rgb(57, 56, 46) 40px 0px 0px inset, rgb(70, 71, 65) 41px 0px 0px inset; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">

</pre>

你也可以将上述两个命令结合在一起,直接得到僵尸进程的 PID 及其父进程的 PID:

<pre class="prettyprint linenums" style="box-sizing: border-box; overflow: hidden; font: 400 12px / 20px "courier new"; display: block; padding: 10px 15px; margin: 20px 0px; color: rgb(248, 248, 212); word-break: break-all; overflow-wrap: break-word; background: rgb(39, 40, 34); border: none; border-radius: 4px; box-shadow: rgb(57, 56, 46) 40px 0px 0px inset, rgb(70, 71, 65) 41px 0px 0px inset; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">

</pre>

现在你得到了父进程 ID,使用命令行和得到的 ID 号 终于可以杀死进程了 [5]:

<pre class="prettyprint linenums" style="box-sizing: border-box; overflow: hidden; font: 400 12px / 20px "courier new"; display: block; padding: 10px 15px; margin: 20px 0px; color: rgb(248, 248, 212); word-break: break-all; overflow-wrap: break-word; background: rgb(39, 40, 34); border: none; border-radius: 4px; box-shadow: rgb(57, 56, 46) 40px 0px 0px inset, rgb(70, 71, 65) 41px 0px 0px inset; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">

</pre>

Killing parent process

再次运行 ps 命令或 top 命令,你可以验证僵尸进程是否已经被杀死。

恭喜!现在你知道怎么清理僵尸进程了。

via: https://itsfoss.com/kill-zombie-process-linux/

阅读全文

与linuxzombiedefunct相关的资料

热点内容
苹果电脑文件夹里的东西怎么删除 浏览:799
qq炫舞动态头像深海 浏览:87
单片机编程软件文件后缀 浏览:108
网络数据用不成怎么回事 浏览:135
applepayiphone5 浏览:71
word2010制作日历 浏览:491
为什么微信字显示不全 浏览:761
香港苹果官网怎么预定iphone 浏览:844
文件目录索引包括哪些 浏览:794
感情不要冷处理的微信个性签名 浏览:54
机器人怎么在电脑上编程 浏览:197
如何辨别购物的网站 浏览:13
喜欢编程吗喜欢什么语言 浏览:841
cad迷你看图软件怎么删除文件 浏览:267
看视频写文件格式 浏览:2
大数据平台怎么审绿 浏览:398
java打包教程 浏览:787
电脑有多少个文件夹 浏览:1
dnf86版本极限光强 浏览:974
国考资料分析哪里来的数据 浏览:87

友情链接