systemctl status 的输出中 Process: 和 Main PID: 有什么区别?

systemctl status 的输出中 Process: 和 Main PID: 有什么区别?

服务单元输出中的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:启动的任何其他进程。 (在本例中,已开始使用该选项)。如果服务启动了多个进程(除主进程之外),则可以有多行。如果不涉及其他过程,您只会看到值。ExecStartPreExecStartPostExecStopPostsshd-keygenExecStartPre=Process:Main PID

我承认这在书中不是很清楚文档forExecStartPre但 for 的文档ExecStart澄清了主进程是由该选项启动的进程,除了Type=forking,在这种情况下,守护进程被视为主进程。

相关内容