Os processos têm linhagens como as pessoas. Portanto, da mesma forma que as pessoas têm pais, o mesmo acontece com os processos. Se você olhar para a saída de ps
, poderá ver quem é o proprietário de um processo específico.
$ ps -eaf | head -10
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Dec07 ? 00:00:07 /usr/lib/systemd/systemd --system --deserialize 24
root 2 0 0 Dec07 ? 00:00:00 [kthreadd]
root 3 2 0 Dec07 ? 00:00:03 [ksoftirqd/0]
root 5 2 0 Dec07 ? 00:00:00 [kworker/0:0H]
root 7 2 0 Dec07 ? 00:00:00 [kworker/u:0H]
root 8 2 0 Dec07 ? 00:00:06 [migration/0]
root 9 2 0 Dec07 ? 00:00:00 [rcu_bh]
root 10 2 0 Dec07 ? 00:00:56 [rcu_sched]
root 11 2 0 Dec07 ? 00:00:00 [watchdog/0]
A primeira coluna é o usuário que possui o processo. A segunda coluna é o ID do processo (PID) atribuído a esse processo. E a terceira coluna é o ID do processo pai (PPID). Esse PPID é o que vincula um processo a um processo anterior, portanto, com efeito, o PPID é o ID do processo pai de um processo específico.
Estes são exemplos de processos que são outros usuários (além do root) que possuem PPID's de processos pertencentes ao usuário root.
Exemplos
Propriedade do usuário avahi:
avahi 511 1 0 Dec07 ? 00:00:00 avahi-daemon: running [greeneggs.local]
de propriedade do usuário dbus:
dbus 512 1 0 Dec07 ? 00:00:22 /bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
Aqui, podemos ver onde um processo iniciado por um processo de propriedade do root eventualmente abrange um processo de propriedade do meu nome de usuário saml
.
root 1266 547 0 Dec07 ? 00:00:00 gdm-session-worker [pam/gdm-password]
saml 1277 1266 0 Dec07 ? 00:00:03 gnome-session
Observe que o PPID da sessão do gnome é 1277.
Por fim, você pode usar switches um pouco diferentes para ps
para ver uma árvore visual de linhagem.
$ ps -auxf
root 530 0.0 0.0 296804 1824 ? Ssl Dec07 0:00 /usr/sbin/gdm
root 547 0.0 0.0 380436 2208 ? Sl Dec07 0:00 \_ /usr/libexec/gdm-simple-slave --display-id /org/gnome/Dis
root 584 4.0 0.5 297980 40816 tty1 Ss+ Dec07 86:37 \_ /usr/bin/Xorg :0 -background none -verbose -auth /run
root 1266 0.0 0.0 516956 3160 ? Sl Dec07 0:00 \_ gdm-session-worker [pam/gdm-password]
saml 1277 0.0 0.0 714828 6336 ? Ssl Dec07 0:03 \_ gnome-session