僵尸进程与孤儿进程

1.僵尸进程与孤儿进程

僵尸进程:子进程执行完毕,父进程没有对其资源进行回收从而使子进程PCB遗留在内存,从而产生僵尸进程。僵尸进程积累过多会导致无法创建新的进程

孤儿进程:指子进程还在运行中,父进程已经退出,那么该进程会被守护进程init收养,由守护进程来回收其资源

2.如何预防僵尸进程

1.父进程调用wait/waitpid函数等待子进程退出

2.两次fork方法,就是让孙子进程去执行子进程的任务;父进程fork出子进程,然后等待子进程退出,子进程再fork出孙子进程然后退出,此时孙子进程会成为孤儿进程被收养由内核来回收资源。

3.忽略SIGCHLD信号

通过调用signal信号可以告诉内核对子进程的结束不关心,有内核回收;忽略子进程执行完毕回收资源的信号,表示不关心子进程的退出,由操作系统来回收资源。

4.注册信号处理函数

父进程注册信号处理函数,在信号处理函数中调用wait/waitpid;适用于父进程很忙的状态下,不能一直访问子进程的状态

相关推荐

  1. 僵尸进程孤儿进程

    2024-06-13 15:58:01       25 阅读
  2. 僵尸进程孤儿进程

    2024-06-13 15:58:01       37 阅读

最近更新

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

    2024-06-13 15:58:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-13 15:58:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-13 15:58:01       82 阅读
  4. Python语言-面向对象

    2024-06-13 15:58:01       91 阅读

热门阅读

  1. PyTorch -- 最常见损失函数 LOSS 的选择

    2024-06-13 15:58:01       28 阅读
  2. docker构建alpine镜像时,运行环境坑。

    2024-06-13 15:58:01       25 阅读
  3. 高考计算机专业 热门专业方向

    2024-06-13 15:58:01       32 阅读
  4. vue使用

    2024-06-13 15:58:01       23 阅读
  5. Flink 命令行提交、展示和取消作业

    2024-06-13 15:58:01       25 阅读
  6. 深入浅出: XML HttpRequest 入门指南

    2024-06-13 15:58:01       35 阅读
  7. Release和Debug的区别?Release有什么好处?【面试】

    2024-06-13 15:58:01       27 阅读
  8. QT与VS的区别?使用QT的好处?

    2024-06-13 15:58:01       29 阅读
  9. P3842 [TJOI2007] 线段

    2024-06-13 15:58:01       35 阅读
  10. 大数据平台之权限管理

    2024-06-13 15:58:01       31 阅读
  11. 【代码】数据类型之基本数据类型

    2024-06-13 15:58:01       28 阅读