Se você iniciou algum processo no terminal (por exemplo, gedit), o ID do processo (PID) (do bash) e o ID do processo pai (PPID) (do gedit) para esses dois processos serão os mesmos. Isso pode ser visto na saída de
ps -ef
comando. Para torná-lo mais legível, vamos primeiro "canalizar" a saída para grep
encontrar o PID de todos os processos "bash" em execução no momento e depois "canalizar" novamente para awk
. Ele awk
seleciona apenas os campos PID e nome do processo (campos 2 e 8) e os envia para a tela.
ps -ef | grep bash | awk '{print $2 ": " $8}'
O número na saída é PID. Você o usará para descobrir qual processo foi iniciado no terminal que possui esse PID. Observe que pode haver mais de uma linha de saída se você tiver mais de um terminal aberto. Agora, para encontrar os processos "filhos" (se houver) dessas sessões de terminal, podemos usar este comando:
ps -ef | awk '{if ($3 == EnterPID) print $2 ": " $8;}'
Você deve inserir o número do PID no lugar de EnterPID no último comando. Se houver mais de um PID para "bash", você deve tentar todos eles.
O último comando apenas procura a saída ps -ef
e pesquisa se o PID (que você encontrou no comando anterior) e o PPID são iguais para qualquer processo.
Mais informações:
homem ps
homem awk
screen
,tmux
,script
,ssh
,mc
e virou os painéis off, ou apenas um outro shell por exemplo digitaçãobash
, ou algo nesse sentido. Pressione Ctrl + D ou digiteexit
para sair do seu shell, você verá onde termina.