:?:
用who -d 查出一些死进程!
如 : . pts/161 Jun 06 13:56 4:01 84300 id=pts/161 term=0 exit=1
. pts/165 Jun 06 17:28 0:30 131508 id=pts/165 term=0 exit=0
. pts/167 Jun 06 17:33 0:25 50194 id=pts/167 term=0 exit=0
. pts/168 Jun 06 17:31 0:27 126624 id=pts/168 term=0 exit=1
. pts/169 Jun 06 17:20 0:38 99138 id=pts/169 term=0 exit=0
. pts/170 Jun 06 11:03 6:55 16470 id=pts/170 term=0 exit=0
:o !释放pts 号!
用kill -9 16470
显示 :kill: 16470: 0403-003 The specified process does not exist
请帮忙!!
:idea:
liangweijun 回复于:2003-06-07 17:31:31
转IBm对死进程的描述:
有关Defunct进程(死进程)的问题确定
内容
提要 本文介绍了为什么会产生defunct进程,如何确定引起defunct进程的原因,以及当需要进一步确定问题时应提供何种信息给软件供应商。
正文 1.Defunct进程的产生
在AIX操作系统实施的进程结构中,每一个进程都有一个父进程。当一个进程结束时会通知它的父进程,从而该进程的父进程会收集该进程的状态信息。若父进程在一定的时间内无法收集到状态信息,则系统中就会残留一个defunct进程。
因为defunct进程是已经停止的,所以使用杀死进程的方法来杀defunct进程是无效的。defunct进程不使用CPU或硬盘等系统资源,而只使用极少量的内存用于存储退出状态和资源使用信息。
2.问题确定
某一个进程在结束时由它的父进程负责删除它。要找到某一个进程的父进程,执行ps -ef命令,输出中的PPID列给出了一个进程的父进程的进程号。
(1)如果PPID为1应该如何做?
如果一个defunct进程的PPID为1,则该defunct进程的父进程为init进程。init进程是系统中所有进程的起源。通常情况下,init进程通过将defunct进程的PPID设为1来收回该进程。
如果一个defunct进程的父进程号为1,则需要确认该defunct进程是否已结束了若干分钟。(方法是等几分钟后再查看该defunct进程是否还存在。)一个系统中,特别是任务繁忙的系统中,父进程为init的defunct进程存在1~2分钟是正常的。defunct进程经常由复杂的shell脚本程序产生,这种情况通常是正常的,并不能说明有问题存在。
当init进程没有处理完/etc/inittab文件而在等其中的某一项命令结束(通常是一个/etc/rc脚本)时,可能会发生问题。在这时候,init进程会忽略掉其它所有结束的子进程,而只等这个特定的子进程结束。由一个挂起的/etc/inittab文件中的任务引起的问题的征兆是:父进程为init的defunct进程无限制的增长。在AIX4.3及以后的版本中,init进程的功能被增强,用以有效地处理defunct进程。
如果/etc/inittab文件中含有类似下一行的项,则删除它:
install_assist:2:wait:/usr/lib/lpd/pio/etc/pioinit >; /dev/null 2>;&1
该进程会引起defunct进程。该项应在初始化安装结束后被自动删除。
(2)如果PPID不为1应该如何做?
如果父进程号不为1,则相应的父进程应负责收回结束的子进程。未收回子进程的原因之一是shell管道。系统中的许多命令都不会产生子进程,这些进程也无法处理那些结束的子进程。这种情况在一个shell管道中有一个或多个短时进程及一个和多个长时间进程时更为明显。一个defunct进程会在它的父进程运行期间一直存在。
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 进程 帮忙 这些 可以 怎么 defunct 一个 如果 结束 问题 |
注册
个人空间
