Linux查找所有正在运行的守护进程(daemon)

守护进程在Unix-like系统中是通过特定步骤成为的,包括脱离控制tty、成为session leader等。本文介绍了如何使用`ps`命令结合awk过滤出没有控制终端且是session leader的进程,以此查找Linux系统中的守护进程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ps -eo ppid,pid,sid,stat,tty,comm  | awk '{ if ($2 == $3 && $5 == "?") {print $0}; }'


首先,要注意,守护进程(daemon)和后台进程(background process)有区别。

守护进程是一种后台进程,但是,同时,它必须具备以下特性:

1. 没有控制它的tty

2. 必须是一个session leader

3. 必须是一个进程组的leader

4. 执行后台任务

5. root目录即为工作目录

6. umask设置为0

7. 文件描述符(file descriptor)都必须先关闭,然后再关联相应文件(或者设备),如果有需要的话。

Wiki原文摘录如下:

On a Unix-like system, the common method for a process to become a daemon, when the process is started from the command line or from a startup script such as an init script or a SystemStarter script, involves:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值