理解status的二进制位表示及进程等待

 信号编号:低7位

状态编号:次低8位

 1.子进程退出后会变为僵尸进程,将退出结果写入自身的task_struct结构体中

2.wait/waitpid是一个系统调用->OS可以读取子进程的task_struct 

1.为什么要进行进程等待?

1.将子进程(僵尸进程释放)。

2.获取子进程状态

2.进程等待是什么?

通过系统调用让父进程等待子进程的一种方式。

3.如何做到进程等待?

通过wait和waitpid,指定等待方式(阻塞,非阻塞)获取子进程退出结果,以阻塞或非阻塞的方式对进程进行等待。

轮询:多次非阻塞等待。

阻塞:父进程一直等待并检测子进程的状态

非阻塞:父进程检测子进程的状态,(如果子进程没有就绪,直接返回)-> (没一次都是一次非阻塞等待)

非阻塞有什么好处?

不会占用父进程的所有资源,可以在轮询期间执行其他任务。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-22 22:14:01       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-22 22:14:01       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-22 22:14:01       45 阅读
  4. Python语言-面向对象

    2024-07-22 22:14:01       55 阅读

热门阅读

  1. Redis 持久化详解

    2024-07-22 22:14:01       15 阅读
  2. 设计模式-抽象工厂模式

    2024-07-22 22:14:01       11 阅读
  3. 在Spring中获取Bean的各种方式

    2024-07-22 22:14:01       14 阅读
  4. AWS认证SAA-C03每日一题

    2024-07-22 22:14:01       13 阅读
  5. python 中的 pprint 和 print有什么区别?

    2024-07-22 22:14:01       16 阅读