1简介僵死进程简而言之就是:子进程退出时,父进程并未对其发出的SIGCHILD信号进行适当处理,导致子进程停留在僵死状态等待其父进程为其收尸,这个状态下的子进程就是僵死进程。在fork()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函...
分类:
其他好文 时间:
2014-08-09 13:14:07
阅读次数:
253
基本概念:在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的进程。子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束。当一个 进程完成它的工作终止之后,它的父进程需要调用wait()或者waitpid()系统调用取得子进程的终止状态。...
分类:
其他好文 时间:
2014-07-28 23:46:24
阅读次数:
355
linux上进程有5种状态:1. 运行(正在运行或在运行队列中等待)2. 中断(休眠中,
受阻, 在等待某个条件的形成或接受到信号)3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)4. 僵死(进程已终止, 但进程描述符存在,
直到父进程调用wait4()系统调用后释放)5. ...
分类:
系统相关 时间:
2014-06-10 19:36:46
阅读次数:
324
序
僵死(zombie)进程简而言之就是:子进程退出时,父进程并未对其发出的SIGCHILD信号进行适当处理,导致子进程停留在僵死状态等待其父进程为其收尸,这个状态下的子进程就是僵死进程。
因为并发服务器常常fork很多子进程,子进程终结之后需要服务器进程去wait清理资源。对于某些进程,特别是服务器进程往往在请求到来时生成子进程处理请求。如果父进程不等待子进程结束,子进程将成为僵尸进程(zo...
分类:
系统相关 时间:
2014-05-25 06:12:34
阅读次数:
313
进程状态TASK_RUNNING可运行或正在运行TASK_INTERRUPTIBLE进程被阻塞,但可以被信号唤醒TASK_UNINTERRUPTIBLE进程被阻塞,且不可以被信号唤醒TASK_STOPPED进程已停止,且不能再投入运行TASK_ZOMBIE所谓的僵死进程,进程描述符仍然保留关键函数和...
分类:
系统相关 时间:
2014-05-05 09:45:05
阅读次数:
473