当前位置:首页 > 编程笔记 > 正文
已解决

Linux--进程等待

来自网友在路上 151851提问 提问时间:2023-10-27 08:11:06阅读次数: 51

最佳答案 问答题库518位专家为你答疑解惑

1.什么是进程等待

        1.通过系统调用wait/waitid,来对子进程进行进行检测和回收的功能。

2.为什么有进程等待

        1.对于每个进程来说,如果子进程终止,父进程没有停止,就会形成僵尸进程,导致内存泄露,为了防止僵尸进程的形成,父进程需要等待子进程,进而解决内存泄漏的问题。这是必须要解决的

        2.我们通过进程等待,进而了解子进程的退出情况,知道子进程在干什么,了解子进程完成的怎么样了。

比如:

3.进程等待怎么办

父进程通过调用wait/waitpid进行僵尸进程的回收问题。

原理:

子进程退出,一共有三种状态:

1.代码运行完毕,结果正确

2.代码运行完毕,结果错误

3.代码异常终止

父进程等待,期望获得子进程哪些信息呢?

1.子进程是否异常

2.子进程运行结果对吗,不对的原因是什么?

不同的退出码,表示不同的原因。

父进程要拿子进程的数据信息,为什么要用wait/waitpid等系统调用借口呢?

因为进程的独立性,每个进程相互之间没有影响。

4.父进程在等待子进程过程中做什么呢?

父进程可以什么都不做,处于阻塞状态,直到子进程运行结束,父进程开始回收子进程。

也可以处于非阻塞状态中,处理自己的事情。这是非阻塞轮询+做自己的事情。

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"Linux--进程等待":http://eshow365.cn/6-25839-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!