Saat bekerja pada mesin Linux, kadang-kadang Anda mungkin perlu mencari tahu proses apa yang sedang berjalan. Ada sejumlah perintah yang dapat Anda gunakan untuk menemukan informasi tentang proses yang sedang berjalan, dengan ps dan top adalah yang paling umum digunakan.

Pada artikel ini, kita akan berbicara tentang perintah pstree. Perintah ini mirip dengan ps, tetapi alih-alih mendaftar proses yang sedang berjalan, ia menunjukkannya secara hierarki pohon. Format seperti pohon adalah cara yang lebih mudah untuk menampilkan hierarki proses dan membuat output lebih menarik secara visual.

Cara Menggunakan Perintah pstree

Sintaks umum untuk perintah pstree adalah sebagai berikut:

ps [OPTIONS] [USER or PID]

Dalam bentuk yang paling sederhana ketika dipanggil tanpa opsi atau argumen apa pun, pstree menampilkan struktur hierarki pohon dari semua proses yang berjalan:

systemd─┬─VBoxService───7*[{VBoxService}]
        ├─accounts-daemon───2*[{accounts-daemon}]
        ├─2*[agetty]
        ├─atd
        ├─cron
        ├─dbus-daemon
        ├─irqbalance───{irqbalance}
        ├─2*[iscsid]
        ├─lvmetad
        ├─lxcfs───2*[{lxcfs}]
        ├─networkd-dispat───{networkd-dispat}
        ├─nginx───2*[nginx]
...

Item teratas adalah proses induk dari semua proses sistem. Dalam contoh ini yaitu systemd, yang merupakan proses pertama yang dimulai saat boot.

Perintah pstree menggabungkan cabang identik dengan menempatkannya di antara tanda kurung siku dan mengawali mereka dengan integer yang mewakili jumlah cabang. Ini membuat output lebih mudah dibaca dan menarik secara visual.

Di bawah ini adalah contoh yang menunjukkan bagaimana kurung kotak digunakan:

├─2*[agetty]

sama dengan:

├─agetty        
├─agetty

Untuk menonaktifkan penggabungan cabang yang sama, gunakan opsi -c:

pstree -c

Thread dari suatu proses ditampilkan di bawah proses induk dan ditampilkan menggunakan nama proses di dalam kurung kurawal. Berikut ini sebuah contoh:

├─lxcfs───2*[{lxcfs}]

Gunakan opsi -t untuk menampilkan nama threads lengkap. Jika Anda ingin menyembunyikan threads dan hanya menampilkan proses, gunakan opsi -T.

Biasanya, pstree menampilkan banyak jalur output yang tidak cukup di layar. Untuk melihat output per halaman, gabungkan perintah pstree dengan perintah less:

pstree | less

Jika nama user diberikan sebagai argumen, pstree hanya menunjukkan proses yang dimiliki oleh user tersebut. Sebagai contoh, perintah berikut hanya akan menunjukkan proses-proses yang telah dimulai oleh pengguna bernama “budi“:

pstree budi

Ketika PID ditentukan sebagai argumen, pstree menampilkan hirarki pohon berisi proses yang diberikan sebagai root dari pohon. Berikut ini sebuah contoh:

pstree 1943
sshd───bash───pstree

Untuk menunjukkan proses induk dari proses yang diberikan gunakan opsi -s diikuti oleh proses PID:

pstree -s 1943
systemd───sshd───sshd───bash───pstree

Menampilkan PID dan PGID

Biasanya, saat menjalankan perintah pstree, informasi terpenting yang dicari user adalah Proses ID. Misalnya, mengetahui PID memungkinkan Anda untuk menghentikan proses yang tidak berfungsi.

Opsi -p menginstruksikan pstree untuk menampilkan PID:

pstree -p

PID ditampilkan dalam tanda kurung setelah setiap proses atau thread.

systemd(1)─┬─VBoxService(955)─┬─{VBoxService}(956)
           │                  ├─{VBoxService}(957)
           │                  ├─{VBoxService}(958)
           │                  ├─{VBoxService}(959)
           │                  ├─{VBoxService}(960)
           │                  ├─{VBoxService}(961)
           │                  └─{VBoxService}(962)
...

Secara default, Proses pstree disortir dan diurutkan berdasarkan nama proses induk. Opsi -n memberi tahu pstree untuk menggunakan pengurutan angka, mis. Mengurutkan berdasarkan PID:

pstree -pn

Process group ID atau PGID adalah ID proses dari anggota pertama dari grup proses. Untuk melihat PGID, gunakan opsi -g:

pstree -g

PID juga ditampilkan dalam tanda kurung setelah setiap proses atau utas.

systemd(1)─┬─VBoxService(954)─┬─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  └─{VBoxService}(954)
...

Saat PID atau PGID ditampilkan, penggabungan secara implisit dinonaktifkan.

Tampilkan Argumen Baris Perintah

Beberapa program dapat dipanggil dengan opsi konfigurasi yang ditentukan sebagai argumen baris perintah.

Secara default, pstree tidak menunjukkan argumen baris perintah untuk proses yang sedang berjalan. Untuk melihat bagaimana proses dimulai, gunakan perintah bersama dengan opsi -a:

pstree -a
...
  ├─agetty -o -p -- \\u --keep-baud 115200,38400,9600 ttyS0 vt220
  ├─agetty -o -p -- \\u --noclear tty1 linux
...

Soroti Proses yang Berjalan

pstree juga memungkinkan Anda untuk menyoroti proses untuk representasi visual yang lebih baik.

Opsi -h memerintahkan pstree untuk menyoroti proses saat ini dan semua yang berjalan sebelumnya.

pstree -h

Untuk menyorot proses tertentu, gunakan opsi -H diikuti oleh ID proses:

pstree -H NOMOR_PID

Jika fitur penyorotan tidak didukung di sistem Anda, perintah akan error dan berhenti.

Kesimpulan

Perintah pstree menampilkan proses yang berjalan dalam bentuk struktur hirarki pohon.

Untuk informasi tentang semua opsi pstree yang tersedia, ketikkan man pstree di terminal Anda.