摘要:
进程在它的生命周期有几种状态:睡眠,可运行,停止,正在运行和僵死状态。所谓僵死进程,指的是一个进程已经退出,它的内存和相关的资源已经被内核释放掉,但是在进程表中这个进程项(entry)还保留着,以便它的父进程得到它的退出状态。一个进程退出时,它的父进程会收到一个SIGCHLD信号。一般情况下,这个信号的句柄通常执行wait系统调用,这样处于僵死状态的进程会被删除。如果父进程没有这么做,结果是什么呢?毫无疑问,进程会处于僵死状态。实际上,僵死进程不会对系统有太大的伤害,最多就是它的进程号(PID)和进程表中的进程项系统不能使用。 举例地说就是: 一个父进程fork了一个子进程出来,然后它们... 阅读全文