Perintah ps Linux: lihat PID, proses induk, dan status proses
Perintah ps menampilkan cuplikan proses pada saat dijalankan, termasuk identitas proses, pengguna, status, dan perintahnya. Gunakan ps untuk memeriksa proses yang sedang ada dan hubungan induk-anaknya; perintah ini selesai setelah mencetak hasil, sehingga bukan pemantau yang terus memperbarui layar.
Untuk mengamati perubahan secara berkala, gunakan top atau htop. Ada pula panduan top dalam bahasa Inggris. Penjelasan opsi di bawah mengacu pada ps dari procps-ng pada Linux. Periksa ps --version dan man ps pada sistem tujuan, karena implementasi lain dapat menerima opsi dan menghasilkan kolom yang berbeda.
Sintaks dan pilihan proses
ps [OPSI]
OPSI adalah penanda untuk pilihan yang diperlukan. Bedakan opsi pemilihan proses, seperti -e dan -p, dari opsi format, seperti -f dan -o. Memilih kolom tertentu tidak dengan sendirinya memilih proses yang ingin dilihat.
Pada procps-ng, opsi Unix memakai satu tanda hubung, opsi Berkeley Software Distribution (BSD) tanpa tanda hubung, dan opsi panjang GNU memakai dua. Jangan mengubah ps aux menjadi ps -aux: bentuk kedua mencampur aturan dan dapat ditafsirkan berbeda. Bentuk opsi serta aturan pemilihannya dijelaskan dalam manual ps dari proyek procps-ng.
Lihat proses terminal dan seluruh sistem
Proses pada terminal saat ini
ps
Tanpa opsi, procps-ng biasanya memilih proses yang memiliki effective user ID (EUID, identitas pengguna efektif) yang sama dan terminal yang sama dengan pemanggil. Ini bukan daftar seluruh proses pengguna atau seluruh sistem. Proses layanan tanpa terminal dapat tidak muncul.
Proses seluruh sistem
ps -ef
-e memilih seluruh proses yang dapat terlihat dari lingkungan tersebut, sedangkan -f memilih format lengkap. Baca judul kolom: UID menunjukkan pengguna, PID adalah process ID atau nomor identitas proses, PPID adalah nomor identitas proses induk, dan CMD menunjukkan perintah. Banyaknya baris mengikuti keadaan sistem, bukan jumlah tetap dalam contoh.
Daftar proses yang terlihat tidak membuktikan bahwa layanan merespons permintaan dengan benar. Gunakan hasil ini untuk mengidentifikasi pekerjaan, lalu periksa perilaku layanan yang relevan bila tujuan Anda menyelidiki kegagalan layanan.
Pilih satu PID dan kolom yang diperlukan
ps -p 1234 -o pid,ppid,user,stat,cmd
1234 adalah PID contoh. Ganti dengan nomor yang benar-benar ingin diperiksa dari daftar sebelumnya. Hasil yang diharapkan adalah kolom PID, PPID, USER, STAT, dan CMD untuk PID tersebut jika masih ada dan terlihat. Jika tidak ada baris data, proses mungkin telah berakhir; jangan menganggap nomor contoh pasti ada pada komputer Anda.
USER pada format ini menunjukkan pengguna efektif; STAT menunjukkan status proses; CMD memuat perintah beserta argumennya bila tersedia. Berbeda dari CMD, comm meminta nama perintah tanpa daftar argumen. Lebar tampilan dapat membatasi teks yang terlihat.
Untuk membatasi ke satu PID, gunakan -p tanpa menambahkan -e. Opsi pemilihan proses pada procps-ng umumnya digabung sebagai pilihan alternatif, sehingga gabungan -e dan -p bukan penyaring agar hanya satu PID tersisa.
Baca keluaran untuk shell saat ini
Dalam shell seperti Bash, $$ diperluas menjadi PID shell. Jalankan contoh berikut dari shell interaktif untuk memeriksa PID, PPID, status, dan nama perintahnya tanpa menebak sebuah nomor.
ps -o pid,ppid,stat,comm -p $$
Berikut contoh keluaran untuk menjelaskan kolom; nomor, status, dan nama shell pada sistem Anda dapat berbeda:
PID PPID STAT COMMAND
4321 4100 Ss bash
4321adalah PID shell contoh, sedangkan4100adalah PPID-nya.Smenyatakan tidur yang dapat diinterupsi, yaitu menunggu kejadian. Itu tidak dengan sendirinya berarti proses mengalami masalah.shuruf kecil adalah penanda tambahan bahwa proses merupakan pemimpin sesi. JadiSsmemuat status utama dan penanda tambahan, bukan satu kode tunggal.bashadalah nilai kolom comm pada contoh, bukan seluruh baris perintah.
Status lain yang sering ditemui mencakup R untuk berjalan atau siap dijadwalkan, D untuk tidur yang tidak dapat diinterupsi, dan Z untuk proses zombie, yaitu proses yang telah berakhir tetapi status akhirnya belum diambil oleh proses induk. Arti status dasar dan bidang PID/PPID dapat diperiksa dalam manual informasi status proses Linux. Status merupakan keadaan saat diamati; satu hasil saja tidak menjelaskan penyebab suatu proses menunggu.
Opsi utama dan pembacaan sumber daya
| Opsi atau format | Kegunaan |
|---|---|
-e |
Memilih seluruh proses dalam cakupan yang terlihat. |
-f |
Menampilkan format lengkap, termasuk hubungan induk dan argumen perintah. |
-p PID |
Memilih nomor identitas proses yang disebutkan. |
-o daftar_kolom |
Menentukan kolom dan urutannya, misalnya pid,ppid,user,stat,cmd. |
aux |
Format BSD untuk melihat proses seluruh pengguna, termasuk proses tanpa terminal, dengan informasi pengguna dan sumber daya. |
Pada keluaran procps-ng, TIME adalah waktu Central Processing Unit (CPU, prosesor) yang telah digunakan, bukan lamanya waktu sejak proses dimulai. %CPU pada ps merupakan perbandingan waktu CPU dengan umur proses, sehingga tidak boleh langsung dibaca sebagai penggunaan pada interval terakhir seperti tampilan pemantau berkala. Penjelasan bidang tersebut tersedia pada bagian format dalam manual procps-ng.
Hindari salah membaca pencarian dan PID
ps | grep nama dapat menyertakan proses grep pencarian itu sendiri. Selain itu, ps tanpa -e tidak mencari seluruh proses. Untuk mencari PID berdasarkan nama, pgrep menyediakan pemilihan yang lebih sesuai; periksa bentuk dan kriteria di manual pgrep dari procps-ng. Pencarian nama biasa berbeda dari pencarian seluruh argumen dengan -f, dan -x meminta kecocokan penuh.
Proses dapat selesai segera setelah daftar dicetak, dan PID dapat dipakai kembali. Sebelum mengirim sinyal, periksa lagi bahwa PID serta perintah masih mengacu pada pekerjaan yang dimaksud. Menemukan satu baris bukan alasan untuk langsung menghentikannya.
Jika opsi atau nama kolom ditolak, baca pesan kesalahan lalu cocokkan dengan implementasi yang terpasang. Jika baris tidak terlihat, periksa terlebih dahulu pilihan proses dan cakupan lingkungan tempat ps dijalankan. Mengulang perintah dengan pilihan yang sesuai lebih berguna daripada menyimpulkan bahwa aplikasi pasti tidak berjalan.
FAQ
Apa perbedaan ps dan top?
Ps mencetak daftar pada saat dipanggil lalu selesai. Top memperbarui tampilan secara berkala, sehingga lebih sesuai untuk mengamati perubahan. Angka sumber daya perlu dibaca menurut definisi masing-masing alat.
Mengapa hasil ps tidak sama dengan ps -ef?
Ps tanpa opsi biasanya membatasi pilihan menurut EUID dan terminal. Ps -ef memilih seluruh proses yang terlihat dan memakai format lengkap. Perbedaan baris merupakan konsekuensi pilihan yang berbeda, bukan bukti bahwa proses baru muncul setelah perintah pertama.




