Respostas:
No Linux, você pode fazer:
htop -p `pstree -p $PID | perl -ne 'push @t, /\((\d+)\)/g; END { print join ",", @t }'`
Onde $PIDestá o processo raiz. Isso funciona da seguinte maneira:
pstree, usando a -popção para listá-los com seu PID.\((\d+)\)), e os gera separados por vírgulas.htop -p.Para outros sistemas operacionais, como o Mac OS, pode ser necessário adaptar a expressão regular que recupera os PIDs.
Nota: Infelizmente, não é possível atualizar a lista com novos filhos que são gerados mais tarde, porque, uma vez htopexecutada, não é possível fazer mais nada. Essa é uma limitação de htop(versão atual: 2.0.2).
$PIDtem que ser o pid, mas você pode obter o ID do nome do processo com pgrep.
pstreefrom homebrew:htop -p `pstree -p $PID | perl -ne 'push @t, /--- (\d+) /g; END { print join ",", @t }'`
htop -p $(ps -ef | awk -v proc=15305 '$3 == proc { cnt++;if (cnt == 1) { printf "%s",$2 } else { printf ",%s",$2 } }')
Use o awk para criar uma lista separada por vírgula de IDs de processo a partir da saída de ps -ef passando o ID do processo pai como proc e depois distribuindo-o para htop -p.
$PIDpode ser o nome do processo ou tem que ser o id?