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 perintah ps 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 menginstruksikan ps 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 USERPID%CPU%MEMVSZRSSSTATSTARTTTYTIME, 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 PIDTTYTIME 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, seperti Z (zombie), S (sleep), dan R (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 memerintahkan ps 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 seperti USER, pengguna yang menjalankan proses.
  • PPID – ID dari proses induk.
  • C – Sama seperti %CPU, proses pemanfaatan CPU.
  • STIME – Sama seperti START, 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.