Comment afficher uniquement un processus et ses processus descendants sur htop?

10

Je souhaite surveiller uniquement un processus et ses processus enfants htop. Le filtrage sur le nom du processus parent répertorie uniquement le processus parent, pas ses enfants. Comment puis-je également montrer les processus enfants?

Becko
la source

Réponses:

8

Sous Linux, vous pouvez faire:

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

$PIDest le processus racine. Cela fonctionne comme suit:

  1. La liste des processus souhaités est obtenue avec pstree, en utilisant l' -poption pour les lister avec leur PID.
  2. La sortie est dirigée vers un script Perl qui récupère les PID, en utilisant une expression régulière (ici, \((\d+)\)), et les sort séparés par des virgules.
  3. Cette liste est fournie comme argument de htop -p.

Pour d'autres systèmes d'exploitation comme Mac OS, vous devrez peut-être adapter l'expression régulière qui récupère les PID.

Remarque: Il n'est malheureusement pas possible de mettre à jour la liste avec de nouveaux enfants qui apparaîtront plus tard, car une fois htopexécutée, on ne peut rien faire d'autre. Il s'agit d'une limitation de htop(version actuelle: 2.0.2).

vinc17
la source
$PIDpeut être le nom du processus, ou ce doit être l'id?
Becko
@becko $PIDdoit être le pid, mais vous pouvez obtenir l'identifiant à partir du nom du processus avec pgrep.
vinc17
5
cela ne sera pas mis à jour quand de nouveaux enfants apparaîtront cependant ... j'adorerais utiliser qc comme ça pour surveiller uniquement les trucs de ma session
tmux
@black_puppydog moi aussi!
Becko
Sur macOS avec pstreede 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 } }')

Utilisez awk pour créer une liste séparée par des virgules d'ID de processus à partir de la sortie de ps -ef en passant l'ID de processus parent en tant que proc, puis en le transmettant à htop -p.

Raman Sailopal
la source