Qual é a diferença entre Process: e Main PID: na saída do status systemctl?

7

Qual é a diferença entre as linhas Process: e Main PID: na saída de systemctl status em uma unidade de serviço? O que o número do processo denota?

Por exemplo:

Na saída de systemctl status sshd , vemos uma linha com Process: acima da linha dizendo Main PID: . Ele tem um número de processo diferente da linha Main PID: . Aqui está um de um guia de administração do RHEL :

# systemctl status sshd
sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; disabled)
   Active: active (running) since Mon 2014-09-01 09:35:17 EST; 2s ago
  Process: 6191 ExecStartPre=/usr/sbin/sshd-keygen (code=exited, status=0/SUCCESS)
 Main PID: 6194 (sshd)
   CGroup: /system.slice/sshd.service
           └─6194 /usr/sbin/sshd -D

Estou tentando entender o que é esse número de processo.

    
por Kampton Joe 12.07.2017 / 18:44

1 resposta

5

Main PID é o PID do processo que é iniciado usando as opções ExecStart= (no exemplo sshd ). O Process: é usado para qualquer outro processo que possa ter sido iniciado pelo serviço usando as opções ExecStartPre , ExecStartPost , ExecStopPost , etc. (neste exemplo, sshd-keygen foi iniciado usando a opção ExecStartPre= ). Você pode ter várias linhas em Process: se houver mais de um processo iniciado pelo serviço, diferente do processo principal. Se não houver outro processo envolvido, você verá apenas o valor Main PID .

Eu admito que isso não está muito claro nos docs por ExecStartPre , mas o documento para ExecStart esclarece que o processo principal é aquele iniciado por essa opção, exceto por Type=forking , em cujo caso, o processo daemon é considerado o processo principal.

    
por 12.07.2017 / 23:22