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

Kam*_*Joe 11 systemd

服务单元输出中的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 (code=exited, status=0/SUCCESS)
 主 PID: 6194 (sshd)
   C组:/system.slice/sshd.service
           ??6194 /usr/sbin/sshd -D

我试图了解该进程编号是什么。

Mun*_*nir 8

Main PID是使用ExecStart=选项启动的进程的 PID (在示例中sshd)。该Process:用于那些有可能通过该服务使用已启动任何其他进程ExecStartPreExecStartPostExecStopPost,等选项。(在本例中,sshd-keygen已开始使用该ExecStartPre=选项)。Process:如果服务启动了多个进程,而不是主进程,则可以有多行。如果不涉及其他过程,您将只会看到该Main PID值。

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