Saya ingin memantau hanya proses dan proses anak-anaknya htop
. Pemfilteran pada nama proses induk hanya mencantumkan proses induk, bukan anak-anaknya. Bagaimana cara saya menunjukkan proses anak-anak juga?
10
Di Linux, Anda dapat melakukan:
htop -p `pstree -p $PID | perl -ne 'push @t, /\((\d+)\)/g; END { print join ",", @t }'`
dimana $PID
proses root. Ini berfungsi sebagai berikut:
pstree
menggunakan -p
opsi 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 htop
telah dieksekusi, orang tidak dapat melakukan hal lain. Ini adalah batasan htop
(versi saat ini: 2.0.2).
$PID
dapat nama proses, atau harus id?$PID
harus menjadi pid, tetapi Anda bisa mendapatkan id dari nama prosesnyapgrep
.pstree
dari homebrew:htop -p `pstree -p $PID | perl -ne 'push @t, /--- (\d+) /g; END { print join ",", @t }'`
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.
sumber