• 父进程先终止:
    Linux系统保证每个进程都有一个父进程,若父进程比子进程先终止,则该父进程的所有子进程的父进程都变为init进程。其执行顺序大致如下:在一个进程终止时,内核逐个检查所有活动进程,以判断它是否是正要终止的进程的子进程,如果是,则该进程的父进程ID就更改为1(init进程的ID);
    以下图所示的程序为例:

  • 子进程先终止:
    内核为每个终止子进程保存了一定量的信息,所以当终止进程的父进程调用wait或waitpid时,可以得到有关信息。这种信息至少包括该进程的ID、终止状态等信息。
    一个已经终止、但是其父进程尚未对其进行善后处理(获取终止子进程的有关信息,释放它仍占有的资源)的进程被称为僵死进程。
    有init领养的进程不会称为僵死进程,因为只要init的子进程终止,init就会调用一个wait函数取得其终止状态。这样也就防止了在系统中有很多僵死进程。

Linux下父进程子进程先后终止的不同处理相关推荐

  1. Linux下的进程概论与编程二(进程控制)

    一.进程标识符 1.每个进程都有非负的整形表示唯一的进程ID. 几个典型进程的ID及其功能: 2.除了进程ID,每个进程还有一些其他的标识符. 下列函数返回这些标识符: #include <sy ...

  2. 进程 线程 多进程 多线程 父进程 子进程

    1. 进程定义: 进程就是一个程序在一个数据集上的一次动态执行过程.进程一般由程序.数据集.进程控制块三部分组成.我们编写的程序用来描述进程要完成哪些功能以及如何完成:数据集则是程序在执行过程中所需要 ...

  3. linux下僵尸进程(<defunct>进程)的产生与避免

    一.什么是僵尸进程 在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程.当用ps命令观察进程的执行状态时,看到这些进程的状态栏为 ...

  4. 【Linux】从冯诺依曼体系到初识Linux下的进程

    目录 前言 1.冯诺依曼体系结构 2.管理和操作系统 3.初识进程 1.描述进程PCB(process control block) 1.标识符pid fork接口创建子进程 2.进程状态 3.进程优 ...

  5. linux下查看进程的线程数,linux查看进程的线程数

    top -H -p $PID  #查看对应进程的那个线程占用CPU过高 1.top -H 手册中说:-H : Threads toggle 加上这个选项启动top,top一行显示一个线程.否则,它一行 ...

  6. linux孤儿进程组深入理解,LInux下僵尸进程与孤儿进程是如何产生的?

    1:如何产生: 僵尸进程,先于父进程终止,但是父进程没有对其进行善后处理(获取终止子进程有关信息,释放它仍占有的资源).消灭僵尸进程的唯一方法是终止其父进程. 孤儿进程:该进程的父进程先于自身终止.其 ...

  7. Linux下,进程的相关知识,进程的消耗,常用信息,状态,静态查询命令ps,动态查询命令top

    Linux下,进程的相关知识,进程的来源,去向,状态,静态查询命令ps 一.进程主要组成部分 0.没有执行的程序就是普通文本文件,将程序运行起来以后就是进程,进程又有以下组成部分 1.一个或多个文件 ...

  8. linux下杀死进程全权讲解

    linux下杀死进程全权讲解 2009-10-27 08:57 佚名 linux 我要评论(0) 字号:T | T 本文将详细讲解linux杀死进程的多种命令,包含他们的作用,kill作用:根据进程号 ...

  9. linux ps指令查看进程,linux下查看进程指令-ps

    在Linux下查看进程指令可以用ps(process status) 是unix/Linux下通用的进程状态查看工具 ps的常用选项 选项功能介绍 -a显示所有终端中的进程.注意只有与终端关联的进程才 ...

最新文章

  1. Python编程:Tkinter图形界面设计(1)
  2. 8种常见SQL错误用法,你犯过几个?
  3. 零基础学习什么编程语言比较合适?别的不说,听说大佬都学了这个!
  4. [Unity] FlowCanvas 使用注意事项
  5. 设计模式六大原则你都知道吗?
  6. Xadmin 常用插件
  7. 银行使用计算机实现个人存款,电脑基础 第2章 真题整理1.doc
  8. [CSS揭秘]不规则投影
  9. 兼容IE8使用ajax上传文件
  10. html中怎么设置字体形状,html如何设置字体样式 HTML里怎么设置字体大小?
  11. 初识Hadoop(会飞的大象)
  12. [PaddleSeg 源码阅读] PaddleSeg计算 mIoU
  13. 1.20e 的maphack
  14. 如何删除 顽固文件/文件夹
  15. adb命令之pm hide 与 disable
  16. 软件开发本质论——自然之路 1
  17. extjs 4.1 用户管理界面设计
  18. python上的免费免登录微信智能聊天机器人
  19. stm32 w5500以太网模块使用
  20. NiFi Processors之InvokeHTTP

热门文章

  1. 51单片机 ADC0832酒精传感器
  2. poj 1755 Triathlon (半平面交解一元二次不等式)(切割求半平面交)
  3. 【区块链 | Compound】4.剖析DeFi借贷产品之Compound:清算篇
  4. 给hexo主题添加背景及更改字体颜色(next的Mist主题)
  5. C++类模板 template class T详细使用方法
  6. consol32.exe
  7. 有备而来! 解密DEVELOP德凡为何进入中国市场?
  8. 【物联网】物联网项目之北向接口与南向接口
  9. 在 react 中添加enter键出搜索
  10. 计算机学期总结与学业计划,计算机教学工作总结以及来年计划范文