孤儿进程/僵尸进程/守护进程
这里写目录标题
- 孤儿进程
- 僵尸进程
- 守护进程
孤儿进程
父进程在子进程推退出之前就结束了自己的生命,此时的子进程叫做孤儿进程。
init进程会收留孤儿进程,变成孤儿进程的父进程,init进程的pid为1。
僵尸进程
如果子进程退出,而父进程fork()之前既没安装SIGCHLD信号处理函数,又没有显式忽略该信号,也没有调用waitpid()等待子进程结束,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵尸进程,这时用ps命令就能看到僵尸进程的状态是“Z”。
如果系统中存在大量的僵尸进程,他们的进程号就会一直被占用,但是系统所能使用的进程号是有限的,系统将因为没有可用的进程号而导致系统不能产生新的进程.。
避免僵尸进程的方法有以下几种:
- 通过 signal(SIGCHLD, SIG_IGN) 忽略SIGCHLD这个信号。
- 父进程主动调用 wait、waitpid等函数等待子进程结束,如果尚无子进程退出wait会导致父进程阻塞。
- 如果父进程很忙可以用注册一个SIGCHLD信号的处理函数,在信号处理函数调用wait、waitpid等待子进程退出。
- 杀死父进程。 如果僵尸进程的父进程还存在,找到这个父进程,kill掉它。这样就会变成2的情况,init或者 systemd会负责善后工作。
守护进程
守护进程就是在后台运行,不与任何终端关联的进程,通常情况下守护进程在系统启动时就在运行,它们以root用户或者其他特殊用户(apache和postfix)运行,并能处理一些系统级的任务。
孤儿进程/僵尸进程/守护进程相关推荐
- php 如何守护进程_PHP 编写守护进程
PHP 创建守护进程进程根据状态可以分为三种进程,守护进程,僵尸进程,孤儿进程.今天我们着重来分析下守护进程. 简介 守护进程 (daemon) 是一类在后台运行的特殊进程,用于执行特定的系统任务.很 ...
- 守护进程和inetd守护进程
一.守护进程介绍 守护进程是在后台运行且不与任何控制终端相关联的进程.通常由系统初始化脚本启动,当然也可以在shell提示符下用命令行启动,不过这种守护进程必须亲自脱离于控制终端的关联. 守护进程的启 ...
- python守护进程_Python实现守护进程
考虑如下场景:你编写了一个python服务程序,并且在命令行下启动,而你的命令行会话又被终端所控制,python服务成了终端程序的一个子进程.因此如果你关闭了终端,这个命令行程序也会随之关闭. 要使你 ...
- linux守护进程编程,Linux守护进程的编程实现
Linux 守护进程的编程方法 守护进程(Daemon)是执行在后台的一种特殊进程.它独立于控制终端而且周期性地执行某种任务或等待处理某些发生的事件.守护进程是一种非常实用的进程.Linux的大多数s ...
- supervisor 守护多个进程_supervisor管理守护进程
在Linux或者unix操作系统中,守护进程(Daemon)是一种运行在后台的特殊进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件. 由于在linux中,每个系统与用户进行交流的 ...
- Linux系统编程---11(会话,守护进程,创建守护进程)
会话 创建会话 创建一个会话需要注意以下6点注意事项 调用进程不能是进程组组长,该进程变成新会话首进程 该进程成为一个新进程组的组长进程 需要root权限(nbuntu不需要) 新会话丢弃原有的控制终 ...
- java的守护进程与非守护进程
java的守护进程与非守护进程 最近重新研究Java基础知识,发现以前太多知识知识略略带过了,比较说Java的线程机制,在Java中有两类线程: User Thread(用户线程).Daemon Th ...
- linux守护进程写法_Linux守护进程的深入理解
守护进程也称为精灵进程,是生存期较长的一种进程,常常在系统自举时启动,仅在系统关闭时终止.没有控制终端,仅仅在后台运行,Linux有很多守护进程执行日常事务活动.是不受终端控制的进程.想要脱离所有终端 ...
- 【孤儿进程】孤儿进程组、守护进程
一.孤儿进程组 1. 孤儿进程的定义: 定义1:该进程组的每个成员的父进程要么是该组的成员,要么在其它会话中. 定义2:一个进程不是孤儿进程组的条件是--该组有一个进程,其父进程在属于同一会话的另一个 ...
- Linux多进程开发(三)进程创建之守护进程的学习
之前发过一篇守护进程的文章,但是解析的不够详细,这次,详细来解释守护进程的一些概念和特性. 概念: 后台运行.没有控制端与之相连的进程.独立于控制终端,通常周期性的执行某种任务. Wh ...
最新文章
- 百万奖金悬赏AI垃圾分类,就问你来不来?
- 绝对Linux服务器管理利器webmin
- 【Python Web】flask1
- silverlight textblock 自动换行
- 国外基于android的系统,基于Android的位置服务系统设计与实现
- 八皇后问题python回溯_解决Python基于回溯法子集树模板实现8皇后问题
- 9-算法 kmp算法
- 软件工程导论 05章总体设计
- 中国水泥板市场趋势报告、技术动态创新及市场预测
- Centos中yum方式安装java
- 川农计算机应用基础考试文档,中学生计算机基础考试题库
- 2019吉林大学计算机学硕考研,计算机科学与技术学院2019年硕士研究生复试基本要求...
- python ndarray append_Python中的numpy.append()
- vuepress-theme-reco的安装与使用
- 微信小程序--获取当前时间
- Windows编程画太极图
- 4大方法,因果关系分析的总结,都在这了
- 手把手玩转KVM虚拟化--KVM网络管理
- 普林斯顿微积分(一) 函数、图像和直线
- 论文阅读:2010-基于随机加工时间和模糊交货期的加工车间调度问题