Como exibir apenas um processo e seus processos descendentes no htop?


10

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?

Respostas:


8

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:

  1. A lista dos processos desejados é obtida com pstree, usando a -popção para listá-los com seu PID.
  2. A saída é canalizada para um script Perl que recupera os PIDs, usando uma expressão regular (aqui \((\d+)\)), e os gera separados por vírgulas.
  3. Esta lista é fornecida como argumento de 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).


$PIDpode ser o nome do processo ou tem que ser o id?
Becko

O @becko $PIDtem que ser o pid, mas você pode obter o ID do nome do processo com pgrep.
precisa saber é

5
isso não será atualizado quando novas crianças são gerados embora ... gostaria de usar sth como ele para monitorar única coisa na minha sessão tmux
black_puppydog

@black_puppydog me too!
Becko

No macOS com pstreefrom homebrew:htop -p `pstree -p $PID | perl -ne 'push @t, /--- (\d+) /g; END { print join ",", @t }'`
jpsim

0
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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.