Antworten:
Unter Linux können Sie Folgendes tun:
htop -p `pstree -p $PID | perl -ne 'push @t, /\((\d+)\)/g; END { print join ",", @t }'`
Wo $PID
ist der Root-Prozess? Dies funktioniert wie folgt:
pstree
, wobei die -p
Option verwendet wird, sie mit ihrer PID aufzulisten.\((\d+)\)
) abruft und sie durch Kommas getrennt ausgibt.htop -p
.Für andere Betriebssysteme wie Mac OS müssen Sie möglicherweise den regulären Ausdruck anpassen, mit dem die PIDs abgerufen werden.
Hinweis: Es ist leider nicht möglich, die Liste mit neuen untergeordneten Elementen zu aktualisieren, die später erscheinen, da nach htop
der Ausführung nichts anderes mehr getan werden kann. Dies ist eine Einschränkung von htop
(aktuelle Version: 2.0.2).
$PID
muss die PID sein, aber Sie können die ID aus dem Namen des Prozesses mit erhalten pgrep
.
pstree
von 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 } }')
Verwenden Sie awk, um eine durch Kommas getrennte Liste von Prozess-IDs aus der Ausgabe von ps -ef zu erstellen, indem Sie die übergeordnete Prozess-ID als proc übergeben und diese dann an htop -p weitergeben.
$PID
kann der Name des Prozesses sein oder muss es die ID sein?