Você está procurando o comando pstree
.
pstree
por si só listará todos os processos em uma forma de árvore (como lsblk
faz). Você pode usar o sinal -p
para obter os PIDs listados e também o -s
para mostrar o processo pai:
$ pstree -p 602
udisksd(602)-+-{cleanup}(607)
|-{gdbus}(605)
|-{gmain}(603)
'-{probing-thread}(606)
Uma maneira (provavelmente) compatível com POSIX de obter os PIDs filhos (que eu mencionei nos comentários em outro lugar):
ps -o ppid= -o pid= -A | awk ' == <some pid>{print }'
Isto diz ps
para escrever o PID pai e o PID de todos os processos (sem cabeçalhos), e depois usa awk
para ver quais linhas têm o PID dado no primeiro campo (o pai PID) e imprime o segundo campo correspondente (o PID filho).