服务单元输出中的Process:
和行有什么区别?进程号代表什么?Main PID:
systemctl status
例如:
在输出中,systemctl status sshd
我们看到一行Process:
上面写着Main PID:
。它具有与该行不同的进程号Main PID:
。这是来自RHEL 管理指南:
# systemctl 状态 sshd sshd.service - OpenSSH 服务器守护进程 已加载:已加载(/usr/lib/systemd/system/sshd.service;已禁用) 活跃:自美国东部时间 2014-09-01 周一 09:35:17 起活跃(运行); 2秒前 进程:6191 ExecStartPre=/usr/sbin/sshd-keygen(代码=已退出,状态=0/成功) 主PID:6194(sshd) CGroup:/system.slice/sshd.service └─6194 /usr/sbin/sshd -D
我试图了解该进程号是什么。
答案1
Main PID
是使用选项启动的进程的 PID ExecStart=
(在示例中sshd
)。用于可能由服务使用、、等选项Process:
启动的任何其他进程。 (在本例中,已开始使用该选项)。如果服务启动了多个进程(除主进程之外),则可以有多行。如果不涉及其他过程,您只会看到值。ExecStartPre
ExecStartPost
ExecStopPost
sshd-keygen
ExecStartPre=
Process:
Main PID
我承认这在书中不是很清楚文档forExecStartPre
但 for 的文档ExecStart
澄清了主进程是由该选项启动的进程,除了Type=forking
,在这种情况下,守护进程被视为主进程。