linux僵尸进程理解,Linux为什么要设计一个“僵尸进程”状态?

评论

# re: Linux为什么要设计一个“僵尸进程”状态?

2011-05-24 12:34

nevergone

因为linus是僵尸:-(  回复  更多评论

# re: Linux为什么要设计一个“僵尸进程”状态?

2011-05-24 14:03

笨笨

@nevergone

呵呵  回复  更多评论

# re: Linux为什么要设计一个“僵尸进程”状态?

2011-05-24 17:10

巫云

既然是父进程派生出来的,应该知道啊。  回复  更多评论

# re: Linux为什么要设计一个“僵尸进程”状态?

2011-05-24 17:14

sxpropeht

打个比方,你跟你老婆生了孩子,谁来养活孩子?

在世界各国都是你们俩的义务

回复  更多评论

# re: Linux为什么要设计一个“僵尸进程”状态?

2011-05-24 21:38

笨笨

@sxpropeht

这个比方不恰当,这个新的进程已经不需要主进程养活了。另外,这个进程已经死了,还需要等待父进程来处理,而同时系统也不强制父进程必须处理。

这才是我像了解的。。  回复  更多评论

# re: Linux为什么要设计一个“僵尸进程”状态?

2011-05-25 10:58

hstcscolor

@笨笨

一个父进程派生了一个子进程, 那么这个父进程有可能想知道,子进程的终止状态。如果父进程没有获取这个状态,那么子进程就变为zombie,直到父进程用wait来获取。如果没有这个状态,子进程直接结束。那么父进程就不会知道子进程的终止状态了。这个终止状态以用来判断子进程终止的原因,有些时候还是挺重要的。比如 ,是不是正常终止,是由什么信号终止的。。。详细说明可以参考unix高级环境编程 第八章进程控制,第六节  回复  更多评论

# re: Linux为什么要设计一个“僵尸进程”状态?

2011-05-25 15:23

巫云

我想笨笨想问的是为什么父进程不被强制要求处理,如果不处理有什么不好的后果。  回复  更多评论

# re: Linux为什么要设计一个“僵尸进程”状态?

2011-05-25 16:47

笨笨

@hstcscolor

谢谢你的详细解释。

不过我想父进程除了使用wait之外就没有办法知道子进程的状态了吗?

(我对linux不是很熟悉)  回复  更多评论

# re: Linux为什么要设计一个“僵尸进程”状态?

2011-05-25 16:49

笨笨

@巫云

我基本上是这个意思;既然有僵尸进程带来的缺点,为什么不强制设置必须让每个主进程等待。。。难道是为了避免父进程先退出的尴尬?貌似渐渐有些能理解了。。。  回复  更多评论

# re: Linux为什么要设计一个“僵尸进程”状态?[未登录]

2011-05-25 18:22

vincent

我觉得还有一个有意思的语意

既然是从你这fork的,你必然关注啊

不然的话就没从你这fork的意义了  回复  更多评论

# re: Linux为什么要设计一个“僵尸进程”状态?

2011-05-26 19:28

易宝@byhh

wait() 获取子进程的退出状态。若无,则阻塞。

我觉得设计的挺好的。

回复  更多评论

# re: Linux为什么要设计一个“僵尸进程”状态?

2011-12-06 09:51

Onway

其实可以使用sigaction捕捉SIGCHLD信号,并设置flag标志使其不产生僵死子进程的。

如果强制父进程必须了解子进程的状态,我觉得这才不好,正如你所说的,有的父进程并不关心它的子进程。而且父进程先结束的话,子进程是会被init进程领养的。

我觉得不是因为父进程fork了一个子进程就必须了解它。

了解与不了解,由父进程自己决定,这不是很好么?  回复  更多评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值