Was ist der Unterschied zwischen Process:
und Main PID:
Zeilen in der Ausgabe systemctl status
einer Serviceeinheit? Was bedeutet die Prozessnummer?
Zum Beispiel:
In der Ausgabe von sehen systemctl status sshd
wir eine Zeile mit Process:
der Aufschrift über der Zeile Main PID:
. Es hat eine andere Prozessnummer als die Main PID:
Zeile. Hier ist eine aus einem RHEL-Administratorhandbuch :
# systemctl status sshd sshd.service - OpenSSH-Server-Daemon Geladen: geladen (/usr/lib/systemd/system/sshd.service; deaktiviert) Aktiv: aktiv (läuft) seit Mo 2014-09-01 09:35:17 EST; Vor 2s Prozess: 6191 ExecStartPre = / usr / sbin / sshd-keygen (Code = beendet, Status = 0 / ERFOLG) Haupt-PID: 6194 (sshd) CGroup: /system.slice/sshd.service 19─6194 / usr / sbin / sshd -D
Ich versuche zu verstehen, was diese Prozessnummer ist.
systemctl
Antworten:
Main PID
ist die PID des Prozesses, der mithilfe vonExecStart=
Optionen gestartet wird (im Beispielsshd
). DasProcess:
ist für keinen anderen Prozess verwendet, die von dem Dienst gestartet worden sein könnten mitExecStartPre
,ExecStartPost
,ExecStopPost
, etc Optionen. (In diesem Beispiel wurdesshd-keygen
mit derExecStartPre=
Option gestartet ). Sie können mehrere Zeilen aktivieren,Process:
wenn mehr als ein Prozess vom Dienst gestartet wird, außer dem Hauptprozess. Wenn kein anderer Prozess beteiligt ist, wird nur derMain PID
Wert angezeigt.Ich gebe zu, dass dies in den Dokumenten für nicht sehr klar ist,
ExecStartPre
aber das Dokument für stelltExecStart
klar, dass der Hauptprozess derjenige ist, der mit dieser Option gestartet wurde, außerType=forking
in diesem Fall wird der Dämonprozess als Hauptprozess betrachtet.quelle