Was ist der Unterschied zwischen Process: und Main PID: in der Ausgabe des Systemctl-Status?

10

Was ist der Unterschied zwischen Process:und Main PID:Zeilen in der Ausgabe systemctl statuseiner Serviceeinheit? Was bedeutet die Prozessnummer?

Zum Beispiel:

In der Ausgabe von sehen systemctl status sshdwir 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.

Kampton Joe
quelle
2
Sie sollten Ihre Frage bearbeiten, um die tatsächliche Ausgabe vonsystemctl
Basile Starynkevitch
Beispiele dafür, worüber der Fragesteller fragt, sind nicht schwer zu finden.
JdeBP

Antworten:

8

Main PIDist die PID des Prozesses, der mithilfe von ExecStart=Optionen gestartet wird (im Beispiel sshd). Das Process:ist für keinen anderen Prozess verwendet, die von dem Dienst gestartet worden sein könnten mit ExecStartPre, ExecStartPost, ExecStopPost, etc Optionen. (In diesem Beispiel wurde sshd-keygenmit der ExecStartPre=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 der Main PIDWert angezeigt.

Ich gebe zu, dass dies in den Dokumenten für nicht sehr klar ist, ExecStartPreaber das Dokument für stellt ExecStartklar, dass der Hauptprozess derjenige ist, der mit dieser Option gestartet wurde, außer Type=forkingin diesem Fall wird der Dämonprozess als Hauptprozess betrachtet.

Munir
quelle