关于僵死进程

/*********************************************************************
 * Author  : Samson
 * Date    : 02/21/2012
 * Test platform:
 *               GNU Linux version 2.6.29.4

 * *******************************************************************/

[samson@UFO]$ ps aux | grep "Z"


USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

samson    5817  0.0  0.0      0     0 pts/0    Z+   23:01   0:00 [tcpserv01] <defunct>
samson    5844  0.0  0.0      0     0 pts/0    Z+   23:09   0:00 [tcpserv01] <defunct>
samson    5866  0.0  0.0      0     0 pts/0    Z+   23:11   0:00 [tcpserv01] <defunct>
samson    5869  0.0  0.0      0     0 pts/0    Z+   23:11   0:00 [tcpserv01] <defunct>
samson    5870  0.0  0.0      0     0 pts/0    Z+   23:12   0:00 [tcpserv01] <defunct>
samson    5875  0.0  0.0      0     0 pts/0    Z+   23:12   0:00 [tcpserv01] <defunct>
samson    5876  0.0  0.0      0     0 pts/0    Z+   23:12   0:00 [tcpserv01] <defunct>
samson    5877  0.0  0.0      0     0 pts/0    Z+   23:12   0:00 [tcpserv01] <defunct>
samson    5878  0.0  0.0      0     0 pts/0    Z+   23:12   0:00 [tcpserv01] <defunct>
samson    5879  0.0  0.0      0     0 pts/0    Z+   23:12   0:00 [tcpserv01] <defunct>
samson    5880  0.0  0.0      0     0 pts/0    Z+   23:12   0:00 [tcpserv01] <defunct>
samson    5967  0.0  0.0      0     0 pts/0    Z+   23:22   0:00 [tcpserv01] <defunct>

在测试一服务器程序时,当关闭多个子进程后,发现那些子进程都成为了僵死进程,僵死进程存在的目的是维护子进程的信息,以便父进程在以后某个时候获取。这些信息包括子进程的进程ID、终止状态及资源利用信息,若一个进程终止,而此进程有子进程处于僵死状态,那么它的所有僵死子进程的父进程ID将被重置为1(init进程)。继承这些子进程的init进程将清理它们。

使用命令:ps aux | grep "Z"命令得到当前的僵死进程信息,从得到的信息中可看到CPU MEM VSZ 等都为0,好像是没有占用任何的资源的,这应该只是告诉说进程的运行时空间没有占用,但这些信息是存在于内核中的一些表中的,若不对这些僵死进程进行有效处理的话,内核中的进程资源最终将耗尽。对这些僵死进程的处理我们使用wait和waitpid函数进行处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值