1

Можно ли достоверно определить для данного процесса Linux, запущен ли он или все еще контролируется сценарием init.d, Upstart или systemd?

1 ответ1

1

С помощью systemd вы можете узнать, к какой службе systemd принадлежит процесс, просмотрев группу, в которой он находится.

Например:

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

скажет вам, что процесс dhclient является частью NetworkManager.service и, таким образом, управляется systemd.

В то время как:

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

показывает, что этот процесс Firefox является частью сеанса, запущенного пользователем с UID 1000.

Процессы, запущенные initscripts или заданиями Upstart, неотличимы от других запускаемых вручную фоновых процессов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .