注册 登录
编程论坛 Linux教室

退出进程和结束进程的关系

vfdff 发布于 2008-11-11 16:49, 1571 次点击
我个人理解为:
僵进程是一个已经终止、但是还没有完全退出的进程(暂时保留PCB)
因此进程结束时不算退出,而只有当结束的进程发出一个SIGHLD信号才算退出,不知是不是这样?大家有什么看法

[[it] 本帖最后由 vfdff 于 2008-11-11 17:06 编辑 [/it]]
5 回复
#2
leekingui2008-11-11 18:48
仅代表个人观点
进程有5中状态:运行、可中断、不可中断、僵死、停止
我认为:
进程结束时靠do_exit()完成,需要做很多的工作,其中包括调用exit_notify()向父进程发送信号,这时进程已经退出。
父进程调用wait()函数族时,释放子进程的进程描述符,此时进程结束。
#3
vfdff2008-11-14 19:46
回复 2# 的帖子
释放子进程的进程描述符 ,是父进程的事情吗?应该是操作系统的事情吧
#4
leekingui2008-11-16 13:13
回复 3# 的帖子
我没说是父进程的事啊?当......时,请你看清楚,我是说一个时间概念
#5
dingyin442008-11-19 16:09
说成父进程也没错应该,父进程调用系统调用释放子进程PCB
操作系统就是一个最大的父进程
#6
leekingui2008-11-21 13:26
回复 5# 的帖子
精辟!
1