Apa itu perintah ps di Linux?
Perintah ps di Linux digunakan untuk menampilkan proses yang sedang berjalan pada sistem. Anda bisa mendapatkan informasi seperti ID proses (PID) untuk proses yang Anda atau pengguna lain jalankan di sistem Linux yang sama.
Perintah ps adalah alat yang ekstensif dan memiliki lebih dari 80 opsi perintah. Anda dapat memahami kekuatan dan kerumitannya. Inilah mengapa saya akan menunjukkan kepada Anda beberapa contoh paling umum dan paling berguna dari perintah ps di Linux.
Penggunaan penting perintah ps di Linux
Jika Anda menggunakan perintah ps tanpa opsi apa pun di Linux, itu akan menunjukkan proses yang berjalan di shell saat ini:
ps
Ini adalah outputnya. Saya telah mengirim perintah Gedit di latar belakang, inilah mengapa ini menunjukkan tiga proses jika tidak, Anda biasanya hanya akan melihat ps dan bash.
PID TTY TIME CMD
503 pts/0 00:00:00 gedit
2053 pts/0 00:00:00 ps
31585 pts/0 00:00:00 bash
Di sini:
- PID adalah ID proses unik dari proses
- TTY adalah tipe pengguna terminal yang login. pts berarti terminal semu
- TIME memberi tahu Anda berapa lama proses telah berjalan
- CMD adalah perintah yang Anda jalankan untuk meluncurkan proses
Sekarang ini tidak benar-benar memberikan informasi yang nyata dan berguna. Mari kita lihat beberapa contoh perintah ps yang lebih baik:
1. Lihat semua proses Anda yang sedang berjalan
Jika Anda ingin melihat semua proses yang Anda jalankan, Anda dapat menggunakan perintah ps dengan opsi x seperti ini:
ps -x
Opsi x akan menampilkan semua proses meskipun proses tersebut tidak terkait dengan tty saat ini (tipe terminal) atau jika proses tersebut tidak memiliki terminal pengontrol (seperti daemon).
Opsi – before x adalah opsional tetapi konvensi umum Linux menggunakan opsi – sebelum jadi saya menyarankan Anda untuk terus mengikutinya. Itu tidak akan menyakitimu.
Seperti inilah tampilan outputnya. Saya telah memotong output karena memiliki ratusan baris:
PID TTY STAT TIME COMMAND
503 pts/0 Sl 0:00 gedit
2245 ? S 0:00 /usr/bin/ssh-agent -D -a /run/user/1000/keyring/.ssh
3039 ? Ss 0:00 /lib/systemd/systemd --user
3040 ? S 0:00 (sd-pam)
3054 ? SLl 0:01 /usr/bin/gnome-keyring-daemon --daemonize --login
3059 tty2 Ssl+ 0:00 /usr/lib/gdm3/gdm-x-session --run-script env
STAT dalam output di atas berarti Kode Status Proses. Anda dapat menemukan tabel detail di halaman manual dari perintah ps.
Tetapi Anda akan jarang melihat perintah ps digunakan hanya dengan opsi x. Biasanya disertai dengan opsi u dengan cara ini:
ps -ux
Dengan opsi u, Anda akan mendapatkan informasi mendetail tentang setiap proses:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
abhishek 503 0.0 0.4 681580 37516 pts/0 Sl 18:09 0:00 gedit
abhishek 2245 0.0 0.0 11300 1496 ? S 18:37 0:00 /usr/bin/ssh-agent -D -a /run/user/1000/keyring/.ssh
abhishek 3039 0.0 0.0 77344 3508 ? Ss 10:37 0:00 /lib/systemd/systemd --user
abhishek 3040 0.0 0.0 114632 360 ? S 10:37 0:00 (sd-pam)
abhishek 3054 0.0 0.1 517104 11512 ? SLl 10:37 0:01 /usr/bin/gnome-keyring-daemon --daemonize --login
Seperti yang Anda lihat, sekarang Anda mendapatkan nama pengguna dan konsumsi CPU serta penggunaan memori dari setiap proses. RSS menunjukkan berapa banyak memori yang dimiliki proses saat ini dalam RAM sementara VSZ adalah berapa banyak memori virtual yang dimiliki proses secara total.
2. Lihat semua proses yang berjalan dengan perintah ps aux
Anda mungkin akan melihat ps -aux
atau ps aux
sepanjang waktu dalam tutorial dan dokumentasi Linux.
Dengan opsi tambahan -a, Anda dapat melihat proses yang berjalan oleh semua pengguna di sistem Linux.
ps -aux
Output perintahnya sama dengan ps -ux tetapi sekarang Anda juga memiliki proses dari pengguna lain. Berkat opsi -u, Anda dapat mengidentifikasi proses mana yang dimiliki pengguna mana.
3. Lihat semua proses yang berjalan dengan perintah ps -ef di Linux
Selain ps -aux, Anda juga dapat membuat daftar semua proses yang berjalan dengan perintah -e. Praktik umum adalah menggabungkannya dengan opsi f untuk mendapatkan daftar lengkap perintah yang digunakan untuk menjalankan proses.
ps -ef
Perhatikan bahwa – sebelum e penting, jika tidak maka akan menunjukkan hasil yang berbeda. Sudah kubilang, ps adalah perintah yang kacau dan rumit.
Anda juga dapat menggabungkan opsi H untuk melihat semua proses dalam tampilan berulir dengan proses anak di bawah induknya:
ps -efH
4. Lihat semua proses yang berjalan oleh pengguna tertentu
Untuk mendapatkan informasi tentang semua proses yang dijalankan oleh pengguna tertentu, Anda dapat menggunakan opsi -U dengan nama pengguna:
ps -U user_name
Sebagai contoh, saya dapat melihat semua proses yang dijalankan oleh pengguna root seperti ini:
ps -U root
PID TTY TIME CMD
1 ? 00:00:41 systemd
2 ? 00:00:00 kthreadd
3 ? 00:00:00 rcu_gp
4 ? 00:00:00 rcu_par_gp
8 ? 00:00:00 mm_percpu_wq
9 ? 00:00:03 ksoftirqd/0
10 ? 00:01:22 rcu_sched
5. Lihat semua proses yang dijalankan oleh grup
Anda juga dapat mengkategorikan proses yang berjalan berdasarkan grup, bukan pengguna dengan memberikan nama grup atau id grup:
ps -G group_name_or_id
Anda dapat menggabungkan dengan opsi f untuk mendapatkan daftar lengkap.
6. Dapatkan semua kemunculan dan PID suatu program
Salah satu kegunaan penting dari perintah ps adalah untuk mendapatkan ID proses (PID) dari program yang sedang berjalan. Biasanya ketika Anda ingin mematikan program yang berperilaku buruk, Anda mencari semua kemunculan program, mendapatkan PID-nya, dan menggunakan perintah kill untuk mengakhiri proses.
ps -C program__name
Misalnya, jika saya harus menemukan semua instance yang berjalan dari manajer paket apt:
ps -C apt
PID TTY TIME CMD
11425 pts/1 00:00:00 apt
Anda juga dapat menggunakan perintah grep untuk mendapatkan hasil yang serupa.
ps aux | grep program_name
7. Dapatkan informasi proses tentang PID
Baiklah! Anda telah mendapatkan PID tetapi Anda tidak tahu milik proses mana. Anda dapat menggunakan perintah ps untuk menemukan informasi proses dari PID-nya dengan cara ini:
ps -pN
Anda dapat menggunakan lebih dari satu PID dengan memisahkannya dengan koma:
ps -pN1,N2,N3
Apa lagi?
Seperti yang saya katakan sebelumnya, ps adalah perintah yang rumit dan ekstensif. Ini adalah beberapa contoh perintah ps paling umum yang Anda perlukan hampir sepanjang waktu. Jika Anda menginginkan lebih, Anda selalu dapat merujuk ke halaman manualnya.
Jika Anda memiliki beberapa contoh perintah ps lain yang berguna yang Anda gunakan secara teratur, mengapa tidak membagikannya dengan kami semua di bagian komentar?