Скажите, если процесс находится под управлением systemd, init.d или Upstart
Можно ли достоверно определить для данного процесса Linux, запущен ли он или все еще контролируется сценарием init.d, Upstart или systemd?
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, неотличимы от других запускаемых вручную фоновых процессов.