酷米网

unix环境高级编程 unix高级环境编程

作者:乔乔 时间:2021-12-23 14:50:32 浏览量:1448
导读:看过“unix环境的高级编程”第八章的过程,提到了孤儿过程和僵尸过程,这两个概念都比较模糊。如今有人问什么是孤儿过程和僵尸过程,会带来什么问题,怎么解决,2.基本概念。在unix/linux中,......

看过“unix环境的高级编程”第八章的过程,提到了孤儿过程和僵尸过程,这两个概念都比较模糊。如今有人问什么是孤儿过程和僵尸过程,会带来什么问题,怎么解决,ad3513e94d8dcf7ca43d94d0baa9d074.jpg

2.基本概念。

在unix/linux中,我们知道,通常,子进程是由父进程创建的,而子进程正在创建新进程。子流和父流的运行是一个异步的过程,也就是父进程永远不能预测子进程何时结束。在某个进程结束其工作后,其父进程需要调用wait()或waitpid()系统调用,以获取子进程的终止状态。

孤独症过程:当父进程之一或多个子进程仍在运行时,这些子进程就会变成孤儿进程。孤独症流程将被init进程(进程号为1)接收,并通过init进程完成其状态收集工作。

一个进程使用fork来创建子进程,就像foots退出一样,当父进程不调用wait或waitpid以获得子进程的状态信息时,子进程的进程描述符仍保留在系统中。这个过程称为僵尸过程。

版权声明:本文由用户自发贡献,观点仅代表作者本人,本站不承担相关法律责任。如有侵权/违规内容本站将立刻删除