Risposte:
Sotto Linux, puoi fare:
htop -p `pstree -p $PID | perl -ne 'push @t, /\((\d+)\)/g; END { print join ",", @t }'`
dov'è $PID
il processo di root. Funziona come segue:
pstree
, usando l' -p
opzione per elencarli con il loro PID.\((\d+)\)
) e li restituisce separati da virgole.htop -p
.Per altri sistemi operativi come Mac OS, potrebbe essere necessario adattare l'espressione regolare che recupera i PID.
Nota: purtroppo non è possibile aggiornare l'elenco con i nuovi figli che vengono generati in seguito, poiché una volta htop
eseguito, non si può fare nient'altro. Questa è una limitazione di htop
(versione corrente: 2.0.2).
$PID
deve essere il pid, ma puoi ottenere l'id dal nome del processo con pgrep
.
pstree
da 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 } }')
Usa awk per creare un elenco separato da virgole di id di processo dall'output di ps -ef passando l'id di processo parent come proc e quindi passando a htop -p.
$PID
può essere il nome del processo o deve essere l'id?