Di Linux, turunan dari suatu program disebut process. Kadang ketika bekerja pada mesin Linux, Anda mungkin perlu mencari tahu proses apa yang sedang berjalan.
Ada sejumlah perintah yang dapat Anda gunakan untuk menemukan informasi tentang process yang sedang berjalan, utilitas perintah seperti ps
, pstree
, dan top
adalah yang paling sering digunakan.
Artikel ini menjelaskan cara menggunakan perintah ps
untuk mendaftar process yang sedang berjalan dan menampilkan informasi tentang process tersebut.
Cara Menggunakan Perintah ps
Sintaks umum untuk perintah ps adalah sebagai berikut:
ps [OPTIONS]
Secara historis dan kompatibilitas, perintah ps
menerima beberapa jenis opsi:
- Opsi gaya UNIX, didahului dengan satu tanda hubung.
- Opsi gaya BSD, digunakan tanpa tanda hubung.
- Opsi panjang GNU, didahului oleh dua tanda hubung.
Jenis opsi yang berbeda dapat dicampur, tetapi dalam beberapa kasus tertentu, dapat muncul konflik, jadi yang terbaik adalah tetap menggunakan satu jenis opsi.
Dalam bentuknya yang paling sederhana, ketika digunakan tanpa opsi apa pun, perintah ps
akan mencetak empat kolom informasi untuk minimum dua proses yang berjalan di shell saat ini, shell itu sendiri, dan proses yang berjalan di shell ketika perintah dipanggil.
ps
Output termasuk informasi tentang shell (bash
) dan proses yang berjalan di shell ini (ps, perintah yang Anda ketikkan):
PID TTY TIME CMD 1809 pts/0 00:00:00 bash 2043 pts/0 00:00:00 ps
Keempat kolom diberi label PID
, TTY
, TIME
, dan CMD
.
PID
– process ID. Biasanya, saat menjalankan perintah ps, informasi paling penting yang dicari pengguna adalah proses PID. Mengetahui PID memungkinkan Anda untuk menghentikan proses yang tidak berfungsi.TTY
– Nama terminal pengendali untuk proses.TIME
– Waktu CPU kumulatif dari proses, ditampilkan dalam menit dan detik.CMD
– Nama perintah yang digunakan untuk memulai proses.
Output di atas kurang berguna karena tidak mengandung banyak informasi. Kekuatan sebenarnya dari perintah ps
datang ketika digabungkan dengan opsi tambahan.
Perintah ps
menerima banyak opsi yang dapat digunakan untuk menampilkan kelompok proses tertentu dan informasi berbeda tentang proses tersebut, tetapi hanya sedikit yang diperlukan dalam penggunaan sehari-hari.
Perintah ps
paling sering digunakan dengan kombinasi opsi berikut:
Bentuk Penggunaan dalam BSD :
ps aux
- Opsi
a
memberitahu perintahps
untuk menampilkan proses semua user. Hanya proses yang tidak terkait dengan terminal dan proses group tidak ditampilkan. - Opsi
u
adalah singkatan untuk format yang berorientasi pada user, dan memberikan informasi terperinci tentang proses yang berjalan. - Opsi
x
menginstruksikanps
untuk membuat daftar proses tanpa terminal. Opsi ini menampilkan proses yang berjalan ketika boot dan berjalan di background.
Perintah menampilkan informasi dalam sebelas kolom berlabel USER
, PID
, %CPU
, %MEM
, VSZ
, RSS
, STAT
, START
, TTY
, TIME
, dan CMD
.
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.8 77616 8604 ? Ss 19:47 0:01 /sbin/init root 2 0.0 0.0 0 0 ? S 19:47 0:00 [kthreadd] ...
Kami sudah menjelaskan label PID
, TTY
, TIME
dan CMD
. Berikut penjelasan label lainnya:
USER
– Pengguna yang menjalankan proses.%CPU
– Pemanfaatan cpu dari proses.%MEM
– Persentase ukuran proses yang diset untuk penggunaan memori fisik pada mesin.VSZ
– Ukuran memori virtual dari proses di KiB.RSS
– Ukuran memori fisik yang digunakan proses.STAT
– Kode status proses, sepertiZ
(zombie),S
(sleep), danR
(berjalan).- Start- Waktu ketika perintah pertama kali dimulai.
Opsi f
memberitahu ps untuk menampilkan tampilan hierarki proses induk ke proses anak (child processes) :
ps auxf
Perintah ps
juga memungkinkan Anda untuk mengurutkan output. Misalnya, untuk mengurutkan output berdasarkan penggunaan memori, Anda dapat menggunakan:
ps aux --sort=-%mem
Bentuk Penggunaan ps Dalam UNIX :
ps -ef
- Opsi
-e
memerintahkanps
untuk menampilkan semua proses. - Opsi
-f
adalah daftar format secara penuh, yang menyediakan informasi terperinci tentang proses.
Perintah menampilkan informasi dalam delapan kolom berlabel UID
, PID
, PPID
, C
, STIME
, TIME
, dan CMD
.
UID PID PPID C STIME TTY TIME CMD root 1 0 0 19:47 ? 00:00:01 /sbin/init root 2 0 0 19:47 ? 00:00:00 [kthreadd] ...
Label yang belum dijelaskan memiliki arti sebagai berikut:
UID
– Sama sepertiUSER
, pengguna yang menjalankan proses.PPID
– ID dari proses induk.C
– Sama seperti%CPU
, proses pemanfaatan CPU.STIME
– Sama sepertiSTART
, waktu ketika perintah dimulai
Untuk hanya melihat proses yang berjalan sebagai user tertentu, ketikkan perintah berikut, di mana adhit
adalah nama dari user yang login:
ps -f -U adhit -u adhit
Format yang ditentukan pengguna
Opsi o
memungkinkan Anda untuk menentukan kolom mana yang ditampilkan saat menjalankan perintah ps.
Misalnya, untuk mencetak informasi hanya tentang PID
dan COMMAND
, Anda dapat menjalankan salah satu dari perintah berikut:
ps -efo pid,comm
ps auxo pid,comm
Menggunakan ps Dengan Perintah Lain
ps
dapat digunakan dalam kombinasi dengan perintah lain melalui piping.
Jika Anda ingin menampilkan output dari perintah ps
perhalaman, maka cukup pipe ke perintah less
:
ps -ef | less
Output dari perintah ps
dapat difilter dengan grep
. Misalnya, untuk memperlihatkan hanya proses milik root, maka perintah yang akan Anda jalankan:
ps -ef | grep root
Kesimpulan
Perintah ps adalah salah satu perintah yang paling umum digunakan ketika mengatasi masalah pada sistem Linux. Ini memiliki banyak pilihan, tetapi biasanya, sebagian besar pengguna menggunakan ps aux
atau ps -ef
untuk mengumpulkan informasi tentang proses yang sedang berjalan.
Untuk informasi lebih lanjut tentang ps, ketikkan man ps
di terminal Anda.