Linux:守护进程解析、如何实现守护进程

本文介绍了Linux系统中的守护进程,即Daemon,它们是后台运行并执行特定任务的进程,如inetd和httpd服务器。守护进程独立于控制终端且不受用户登录注销影响。文章详细阐述了如何查看系统中的守护进程,并提供了实现守护进程的步骤,包括调用umask、fork、setsid等方法,确保进程脱离终端并具备灵活性。最后,给出了一个简单的守护进程创建代码示例。
摘要由CSDN通过智能技术生成

1、守护进程:

守护进程也称精灵进程(Daemon),是运行在后台的⼀一种特殊进程。它独立于控制终端周期性地执行某种任务或等待处理某些发生的事件。守护进程是⼀一种很有用的进程。Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任

 

务。比如,作业规划进程crond等。Linux系统启动时会启动很多系统服务进程,

 

这些系统服务进程没有控制终端,不能直接和用户交互。其它进程都是在用户

 

登录或运行程序时创建,在运行结束或用户注销时终止,但系统服务进程不受用户登录注销的影响,它们一直在运行着。这种进程有⼀一个名称叫守护进程(Daemon)。

 

 

2、查看系统中的守护进程:

 

用ps axj命令查看系统中的进程(参数a表示不仅列当前用户的进程,也列

 

出所有其他用户的进程,参数x表示不仅列有控制终端的进程,也列出所有无控

 

制终端的进程,参数j表示列出与 作业控制相关的信息)。

 

凡是TPGID一栏写着-1的都是没有控制终端的进程,也就是守护进程。在

 

COMMAND一列用[] 括起来的 名字表示内核线程,这些线程在内核里创建,没

 

有用户空间代码,因此没有程序文件名和命令行, 通常采用以k开头的名字,表

 

示Kernel。init进程我们已经很熟悉了,udevd负责维护/dev目录下的 设备文

 

件,acpid负责电源管理,syslogd负责维护/var/log下的日志文件,可以看出,守护

 

进程通 常采用以d结尾的名字,表示Daemon。

 

 

3、自己实现守护进程:

(1)、调用umask将文件模式创建屏蔽字设置为0.

文件权限掩码是指屏蔽掉文件权限中的对应位,比如一个文件权限掩码是050它就屏蔽了文件拥有者得可读与可写权限,fork()创建的子进程会继承父进程的文件权限掩码,所以

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值