文档章节

僵尸进程,孤儿进程

t
 thoresa
发布于 2015/10/25 11:21
字数 386
阅读 128
收藏 6
  1. 僵尸进程和孤儿进程是父进程不调用wait时子进程可能的两个状态。

  2. 僵尸进程:僵尸进程是指子进程结束运行(exit(0)), 系统将会保留子进程的描述符信息(没有被回收,其他进程不可以重用该描述符),而父进程没有调用wait对退出的子进程进行处理。子进程成为僵尸进程。查看命令ps打印其state可将有Z标志。

  3. 孤儿进程:父进程没有调用wait等待子进程退出。父进程结束后,子进程仍然在运行,此时子进程成为孤儿进程。孤儿进程会被init进程捕获到,并将init进程作为自己的父进程,此时所有的清除操作将会交给init进程(init进程循环调用wait)。 因此,孤儿进程是无害的。

  4. 解决僵尸进程的编程方法:首先父进程调用signal注册一个一个信号处理函数处理信号SIGCHILD: signal(SIGCHILD, call_back),call_back中调用wait_pid.  子进程在退出时会发出SIGCHILD,被父进程捕获后会调用call_back,完成对子进程描述符的回收操作,


  5. void call_back(int signo); 
    
    int main()
    {
        signal(SIGCHILD, call_back); 
        int pid = fork(); 
        if(pid==0)
        {
            //son thread; exit(0)
        }
        else
        {
            //father thread;
            //sleep(100000);        
        };
    }



© 著作权归作者所有

t
粉丝 0
博文 29
码字总数 10639
作品 0
嘉定
私信 提问
孤儿进程与僵尸进程【比较】

今天在群里聊起僵尸进程,才发现自己把僵尸进程和孤儿进程搞混了,简直不能原谅。速度查了一下,原来如此。感谢原作者的分享,如下: 1、基本概念   我们知道在unix/linux中,正常情况下,...

006玩命
2015/06/01
0
0
什么是PHP7中的孤儿进程与僵尸进程

什么是PHP7中的孤儿进程与僵尸进程 基本概念 我们知道在unix/linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的进程。子进程的结束和父进程的运行是一个异步过程,即父进程永...

开元中国2015
04/15
14
0
Python网络编程(子进程的创建与处理、简单群聊工具)

前言: 昨天我们已经了解了多进程的原理以及它的实际使用 Unix/Linux操作系统提供了一个系统调用,它非常特殊。普通的函数调用,调用一次,返回一次, 但是调用一次,返回两次,因为操作系统...

ParisGabriel
2018/08/10
0
0
docker中reap僵尸进程

在使用docker容器的时候,应该了解“PID1僵尸进程reap”问题。如果使用的时候不加注意,可能会导致出现一些意想不到的问题。 问题 僵尸进程 僵尸进程是指完成执行(通过系统调用,或运行时发...

大蟒传奇
2018/07/16
0
0
Linux 僵尸进程产生原因及解决方法

Linux 允许进程查询内核以获得其父进程的 PID,或者其任何子进程的执行状态。例如,进程可以创建一个子进程来执行特定的任务,然后调用诸如 wait() 这样的一些库函数检查子进程是否终止。如果...

超罗
05/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Android -------- kotlin插件神器Json直接生成javaBean

这是一个data class从JSON字符串生成Kotlin 的插件,换句话说,是一个将JSON字符串转换为Kotlin data class(Json到Kotlin)的插件 在使用Kotlin进行开发的时候,我们需要经常对Json数据做解析...

切切歆语
7分钟前
18
0
1、Spring注解开发,第一天

第一天:Spring annotation开发 目录:1、@Configuration与@Bean给容器注册组件 2、@ConponentScan自动扫描注解 一、@Configuration与@Bean给容器注册组件 1、旧版本中创建配置文件和Bean //...

有一个小阿飞
15分钟前
15
0
斯坦福博弈论笔记整理活动的任务已重新划分,望周知

参与方式:https://github.com/apachecn/stanford-game-theory-notes-zh/blob/master/CONTRIBUTING.md 整体进度:https://github.com/apachecn/stanford-game-theory-notes-zh/issues/1 项目......

ApacheCN_飞龙
16分钟前
10
0
使用HTML5 canvas完成的一个网页白板

该代码能够使用canvas对象完成的一个基本功能。仅供大家参考。 <html> <head> <meta http-equiv="Content-Type" contentType="text/html; charset=UTF-8" %> <title>Title</title> <script t......

前端老手
18分钟前
12
0
web漏洞之xss(学习记录)

xss又名跨站脚本攻击,是一种注入攻击,当web应用对用户输入过滤不严格,攻击者写入恶意的脚本代码(HTML、JavaScript)到网页中时,如果用户访问了含有恶意代码的页面,恶意脚本就会被浏览器...

半缘修道半缘君丶
20分钟前
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部