Linux--进程等待

本文介绍了进程等待的概念,包括如何通过wait/waitid处理子进程的终止,防止僵尸进程和内存泄露。讨论了父进程在子进程不同退出状态下的响应,以及为何使用系统调用如waitpid。还探讨了父进程在等待期间可能采取的阻塞和非阻塞策略。
摘要由CSDN通过智能技术生成

1.什么是进程等待

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

2.为什么有进程等待

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

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

比如:

3.进程等待怎么办

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

原理:

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

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

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

3.代码异常终止

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

1.子进程是否异常

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

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

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

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

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

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

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

函数指针

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值