주어진 Linux 프로세스가 시작되었거나 여전히 init.d 스크립트, Upstart 또는 systemd에 의해 감독되는지 여부를 안정적으로 알 수 있습니까?
답변1
systemd를 사용하면 프로세스가 속한 cgroup을 확인하여 프로세스가 속한 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 작업에 의해 시작된 프로세스는 수동으로 시작된 다른 백그라운드 프로세스와 구별할 수 없습니다.