Jawaban:
Di Linux, Anda dapat melakukan:
htop -p `pstree -p $PID | perl -ne 'push @t, /\((\d+)\)/g; END { print join ",", @t }'`
dimana $PIDproses root. Ini berfungsi sebagai berikut:
pstreemenggunakan -popsi untuk mendaftar mereka dengan PID mereka.\((\d+)\)), dan output mereka dipisahkan dengan koma.htop -p.Untuk OS lain seperti Mac OS, Anda mungkin perlu menyesuaikan ekspresi reguler yang mengambil PID.
Catatan: Sayangnya tidak mungkin untuk memperbarui daftar dengan anak-anak baru yang muncul nanti, karena sekali htoptelah dieksekusi, orang tidak dapat melakukan hal lain. Ini adalah batasan htop(versi saat ini: 2.0.2).
$PIDharus menjadi pid, tetapi Anda bisa mendapatkan id dari nama prosesnya pgrep.
pstreedari 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 } }')
Gunakan awk untuk membuat daftar id proses yang dipisahkan dengan koma dari keluaran ps -ef yang meneruskan id proses induk sebagai proc dan kemudian membagikan ini ke htop -p.
$PIDdapat nama proses, atau harus id?