Eu quero monitorar apenas um processo e seus processos filhos htop
. A filtragem no nome do processo pai lista apenas o processo pai, não seus filhos. Como mostro os processos filhos também?
10
No Linux, você pode fazer:
htop -p `pstree -p $PID | perl -ne 'push @t, /\((\d+)\)/g; END { print join ",", @t }'`
Onde $PID
está o processo raiz. Isso funciona da seguinte maneira:
pstree
, usando a -p
opçã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 htop
executada, não é possível fazer mais nada. Essa é uma limitação de htop
(versão atual: 2.0.2).
$PID
pode ser o nome do processo ou tem que ser o id?$PID
tem que ser o pid, mas você pode obter o ID do nome do processo compgrep
.pstree
from homebrew:htop -p `pstree -p $PID | perl -ne 'push @t, /--- (\d+) /g; END { print join ",", @t }'`
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.
fonte