• Linux--进程等待


    1.什么是进程等待

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

    2.为什么有进程等待

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

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

    比如:

    3.进程等待怎么办

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

    原理:

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

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

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

    3.代码异常终止

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

    1.子进程是否异常

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

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

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

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

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

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

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

  • 相关阅读:
    Linux 创建的用户无法登录
    C++ explicit的作用
    第五章:Ajax高级
    RxJava入门
    Haproxy集群
    js的变量赋值的问题
    虚拟机创建后无法ping www.baidu.com
    【Java框架】Spring5
    FreeRTOS教程10 低功耗
    JavaScript基础与变量
  • 原文地址:https://blog.csdn.net/weixin_66828150/article/details/134041086