守护进程之守护进程的特征
先来看一些常用的系统守护进程,以及它们怎样和http://www.cnblogs.com/nufangrensheng/p/3513323.html、http://www.cnblogs.com/nufangrensheng/p/3513400.html、http://www.cnblogs.com/nufangrensheng/p/3513443.html中所述的进程组、会话和控制终端等概念相关联。
ps(1)命令打印系统中各个进程的状态。
ps -axj
选项-a显示由其他用户所拥有的进程的状态。-x显示没有控制终端的进程状态。-j显示与作业有关的信息:会话ID、进程组ID、控制终端以及终端进程组ID。
ps的输出大致是:
我们暂且先考虑红色边框内的各列。按照顺序,各列标题的意义是:父进程ID、进程ID、进程组ID、会话ID、终端名称、终端进程组ID(与该控制终端相关的前台进程组)、用户ID以及命令字符串。
系统进程依赖于操作系统实现。父进程ID为0的各进程通常是内核进程,它们作为系统自举过程的一部分而启动。(init是此种进程的例外,它是内核在自举时启动的用户层命令。)内核进程是特殊的,通常存在于系统的整个生命期中。它们以超级用户特权运行,无控制终端,无命令行。
进程1通常是init。它是一个系统守护进程,负责启动个运行层次特定的系统服务。这些服务通常是在它们自己拥有的守护进程的帮助下实现的。
在Linux下,keventd守护进程为在内核中运行计划执行的函数提供进程上下文。kapmd守护进程对很多计算机系统中具有的高级电源管理提供支持。kswapd守护进程也称为页面调出守护进程(pageout daemon)。它通过将脏页面以低速写到磁盘上从而使这些页面在需要时仍可回收利用,这种方式支持虚存子系统。
Linux内核使用两个守护进程bdflush和kupdated将高速缓存中的数据冲洗到磁盘上。当可用内存达到下限时,bdflush守护进程将脏缓冲区从缓冲池(buffer cache)中冲洗到磁盘上。每隔一定时间间隔,kupdated守护进程将脏页面冲洗到磁盘上,以便在系统失效时减少丢失的数据。
端口映射守护进程portmap提供将RPC(Remote Procedure Call,远程过程调用)程序号映射为网络端口号的服务。syslogd守护进程提供将系统消息记入日志的服务。可以在一台实际的控制台上打印这些消息,也可将它们写到一个文件中。
http://www.cnblogs.com/nufangrensheng/p/3513254.html 中已谈到inetd守护进程(xinetd),它侦听系统网络接口,以便取得来自网络的对各种网络服务进程的请求。nfsd、lockd和rpciod守护进程提供对网络文件系统(Network File System,NFS)的支持。
cron守护进程(crond)在指定的日期和时间执行指定的命令。许多系统管理任务是由cron定期地执行相关程序而实现的。cupsd守护进程是打印假脱机进程,它处理对系统提出的所有打印请求。
注意,大多数守护进程都以超级用户(用户ID为0)特权运行。没有一个守护进程具有控制终端,其终端设置为问号(?),终端前台进程组ID设置为-1。内核守护进程以无控制终端方式启动。用户层守护进程缺少控制终端可能是守护进程调用了setsid的结果。所有用户层守护进程都是进程组的组长进程以及会话的首进程,而且是这些进程组和会话中的唯一进程。最后,应当引起注意的是大多数守护进程的父进程是init进程。
本篇博文内容摘自《UNIX环境高级编程》(第二版),仅作个人学习记录所用。关于本书可参考:http://www.apuebook.com/。
转载于:https://www.cnblogs.com/nufangrensheng/p/3540987.html
守护进程之守护进程的特征相关推荐
- Linux进程学习(孤儿进程和守护进程)
孤儿进程和守护进程 通过前面的学习我们了解了如何通过fork()函数和vfork()函数来创建一个进程.现在 我们继续深入来学习两个特殊的进程:孤儿进程和守护进程 一.孤儿进程 1.什么是 孤儿进程 ...
- Python 多进程笔记 — 启动进程的方式、守护进程、进程间通信、进程池、进程池之间通信、多进程生产消费模型
1 面向过程启动多进程 Python 操作进程的类都定义在 multiprocessing 模块,该模块提供了一个 Process 类来代表一个进程对象,这个对象可以理解为是一个独立的进程,可以执行另 ...
- Linux 普通进程 后台进程 守护进程(转)
一.普通进程与后台进程 默认情况下,进程是在前台运行的,这时就把shell给占据了,我们无法进行其它操作.对于那些没有交互的进程,很多时候,我们希望将其在后台启动,可以在启动参数的时候加一个'& ...
- 并发 --- 31 进程锁 守护进程 进程队列
一.进程的其他方法 1. .name 进程名 (可指定) 2. .pid 进程号 3. os.getpid 在什么位置就是什么的进程号 4. .is ...
- 普通进程的守护进程化
前言 自定义一个daemon_init函数,涉及到知识点为"如何创建一个daemon(守护进程)",实现步骤如下: fork之后杀掉父进程(此时子进程被init收养)这是为了为下一 ...
- linux 守护进程_Linux 守护进程
前言 Linux 平台下,经常需要程序脱离终端在后台运行,很多程序在启动的时候需要加 -d 参数,这一般代表以守护进程(后台进进程)的方式启动.那么怎么启动守护进程呢? 创建方式 //程序退出的默认动 ...
- Linux学习之系统编程篇:守护进程(精灵进程、后台进程)
一.背景 一般情况下,启动终端(shell),系统会创建一个会话(shell 进程是会长),经过后续各种操作,该会话中会存在多个进程组,每个进程组中也会有多个进程(父进程是组长),若此时关闭 shel ...
- 浅析三种特殊进程:孤儿进程,僵尸进程和守护进程
其实有时想想linux内核的设计也蕴含着很多人生哲学,在linux中有这么几个特殊进程中,我们一开始见到它们的名字可能还会觉得很诧异,但在了解完了原理后,我们仔细想想,这样的命名也不无道理!下面我就给 ...
- 【Linux系统编程】特殊进程之守护进程
00. 目录 文章目录 00. 目录 01. 守护进程概述 02. 守护进程查看方法 03. 编写守护进程的步骤 04. 守护进程代码 05. 附录 01. 守护进程概述 守护进程(Daemon Pr ...
最新文章
- 二维几何基础大合集!《计算几何全家桶(一)》(基础运算、点、线、多边形、圆、网格)
- const reference const
- 【题解】Luogu P1533 可怜的狗狗
- VTK:PolyData之ColorCellsWithRGB
- 如何从ERP下载Sales BOM到CRM
- java 数字与金额_java 数字金额转换中文金额
- java ejb开发_Java实践之路——EJB(一)
- JanusGraph概述
- java语言包安装_Eclipse 多国语言包的安装以及插件的安装方法
- springboot+vue解决跨域问题
- 笔记本linux系统重装步骤(Centos7.0)
- 华中科技大学网络教材
- 竖流式沉淀池集水槽设计计算_竖流沉淀池设计计算书.
- 安装gi的时候回退root.sh的执行
- 【原创】更相减损术 stein算法 欧几里得算法 拓展欧几里得算法 扩展欧几里得算法 逆元的计算与筛法 解模线性方程
- ORACLE导入unl
- R语言 【integrate】函数
- 你到底要一台什么样的笔记本
- Remember Me 功能实现
- c语言 数据类型和 scanf函数的简单使用 sizeof 函数的使用
热门文章
- python内点法_python射线法判断一个点在图形区域内外
- s8050三极管经典电路_电路板维修基本经验分享。
- c++ sleep函数_我们如何在C,C ++中控制/安排线程的执行?
- android7.1以太网动态ip,android7.1编译路上的那些坑!(部分转自网络整理)
- js 一个对象的属性名是一个变量如何设置和获取值
- c语言case两个变量的组合,我可以使用带有两个变量的case/switch语句吗?
- linux保存编辑信息,linux系统编辑神器 -vim用法大全
- 服务器不删档的设置_CCD2服务器已经开启,准备好刷刷刷了吗
- html菜单栏用户点击完自动收缩,几个不错的自动收缩菜单导航效果
- 字符串正反连接java_字符串正反连接(Java实现,超简单)