Linux详解:进程等待

文章目录

  • 进程等待
    • 等待的必要性
    • 进程等待的方法
      • wait
      • waitpid
      • 获取子进程status
      • 阻塞等待 与 非阻塞等待

进程等待

等待的必要性

  • 子进程退出,父进程不进行回收的话,就可能造成僵尸进程,进而造成内存泄露

  • 如果进程进入了僵尸状态,kill也杀不掉这个进程。因为谁也杀不死一个已经死去的进程

  • 父进程派给子进程的任务完成的如何,使用者应该直到结果。子进程的任务是完成了还是未完成。

  • 父进程通过进程等待(wait)的方式,回收子进程的资源,获取子进程的退出信息

  • 父进程通过wait的方式,回收子进程的资源

    子进程的退出信息,保存在子进程的pcb中。

进程等待的方法

#include
#incldue<sys/wait.h>
pid_t wait(int *status);
pid_t waitpid(pid_t pid, int *status, int options);

wait

pid_t wait(int *status);
  • 默认进行阻塞等待,子进程没有退出,父进程就一直等待。
  • 等待父进程的任意一个子进程退出。
  • 返回值:

你可能感兴趣的:(Linux,服务器,linux,笔记)