Informa se um processo está sob o controle systemd, init.d ou Upstart

1

É possível contar confiável para um determinado processo do Linux se ele foi iniciado ou ainda é supervisionado por um script init.d, Upstart ou systemd?

    
por dronus 16.05.2015 / 13:04

1 resposta

1

Com o systemd, você pode encontrar a qual serviço do systemd um processo pertence, observando o cgroup em que ele está.

Por exemplo:

$ ps -eo pid,comm,cgroup | grep dhclient
6476 dhclient 8:devices:/system.slice NetworkManager.service,1:name=systemd:/system.slice/NetworkManager.service

informará que o processo dhclient faz parte do NetworkManager.service e, portanto, é gerenciado pelo systemd.

Considerando que:

$ ps -eo pid,comm,cgroup | grep firefox
3302 firefox 8:devices:/user.slice,1:name=systemd:/user.slice/user-1000.slice/session-c2.scope

mostra que este processo do Firefox é parte da sessão lançada pelo usuário com o UID 1000.

Processos iniciados por initscripts ou trabalhos de Upstart são indistinguíveis de outros processos em segundo plano iniciados manualmente.

    
por 08.08.2015 / 18:06