Quando um script é iniciado a partir do prompt de comando, o shell gera um subprocesso para esse script. Quero mostrar essa relação entre o processo no nível do terminal e seus filhos usando ps
uma saída no estilo de árvore.
Como posso fazer isso?
O que eu tentei até agora
Arquivo: script.sh
#!/bin/bash
ps -f -p$1
Então invoco o script a partir da linha de comando, passando o ID do processo do shell do terminal:
$ ./script.sh $$
O que eu quero é algo como isto
- processo de shell de nível superior (terminal)
- ./script.sh
- processo para o
ps
próprio comando
USER PID [..]
ubuntu 123 -bash
ubuntu 1234 \_ bash ./script.sh
ubuntu 12345 \_ ps auxf
o que estou recebendo é:
PID TTY STAT TIME COMMAND
14492 pts/24 Ss 0:00 -bash
pstree
e não consegui que ele produzisse resultados significativos, acho que pstree $$
apenas bash--pstree
não produzi exatamente o que estava procurando.
ps
, então, o que mais espera ver, exceto pstree
?
pstree -p $$
? Ou, se você quiser mais informações sobre a linha de comando pstree -pa $$
,. Ou, se você quiser mostrar todos os processos pai subindo pstree -psa $$
,.
pstree
?