导读:看过“unix环境的高级编程”第八章的过程,提到了孤儿过程和僵尸过程,这两个概念都比较模糊。如今有人问什么是孤儿过程和僵尸过程,会带来什么问题,怎么解决,2.基本概念。在unix/linux中,......
看过“unix环境的高级编程”第八章的过程,提到了孤儿过程和僵尸过程,这两个概念都比较模糊。如今有人问什么是孤儿过程和僵尸过程,会带来什么问题,怎么解决,
2.基本概念。
在unix/linux中,我们知道,通常,子进程是由父进程创建的,而子进程正在创建新进程。子流和父流的运行是一个异步的过程,也就是父进程永远不能预测子进程何时结束。在某个进程结束其工作后,其父进程需要调用wait()或waitpid()系统调用,以获取子进程的终止状态。
孤独症过程:当父进程之一或多个子进程仍在运行时,这些子进程就会变成孤儿进程。孤独症流程将被init进程(进程号为1)接收,并通过init进程完成其状态收集工作。
一个进程使用fork来创建子进程,就像foots退出一样,当父进程不调用wait或waitpid以获得子进程的状态信息时,子进程的进程描述符仍保留在系统中。这个过程称为僵尸过程。
版权声明:本文由用户自发贡献,观点仅代表作者本人,本站不承担相关法律责任。如有侵权/违规内容本站将立刻删除