A melhor maneira de fazer isso é pstree
. Ele listará todos os processos em execução em um formato de árvore agradável. Você pode usar a opção -H
para destacar um comando específico (fornecido como um PID ). No exemplo abaixo, estou usando pgrep
para obter o PID de master.sh
:
pstree -H 'pgrep master.sh' |grep -A 2 master.sh
|-bash---master.sh-+-a1.sh---something.sh
| |-a2.sh
| |-a3.sh
O comando ps
também pode fazer o que você precisa, o comando ps
pode fazer tudo exceto preparar uma boa xícara de café:
ps xjf
Isso listará todos os processos lançados por master.sh
(na verdade, ele listará todos processos, incluindo aqueles iniciados por master.sh
) em um formato de árvore:
\_ master.sh
| \_ a1.sh
| \_ something.sh
| \_ something.sh
| \_ a2.sh
| \_ a3.sh
Estou mostrando apenas a saída relevante aqui, o comando acima também fornecerá várias outras informações, como o PID, o status do processo, etc. etc.