GNU/Linux >> Belajar Linux >  >> Linux

15 Perintah Linux ps dengan Contoh

ps adalah perintah bawaan yang digunakan dalam sistem operasi Unix/Linux untuk membuat daftar proses yang sedang berjalan. Ini menampilkan snapshot statis dengan informasi tentang proses sedangkan top, htop, dan pandangan menunjukkan pembaruan berulang.

Perintah Ps hadir dengan banyak opsi untuk memanipulasi output. Ini menarik semua informasi proses dari /proc sistem file virtual.

Tutorial ini akan fokus menjelaskan cara menggunakan perintah ps beserta beberapa contoh praktisnya

Sintaks perintah ps

Sintaks dasar untuk penggunaan perintah ps adalah sebagai berikut:

$ ps [options]

'Opsi' dari perintah ps mungkin:

  • Opsi UNIX - didahului dengan tanda hubung
  • Opsi BSD - harus digunakan tanpa tanda hubung
  • Opsi panjang GNU - didahului oleh dua tanda hubung

Ini adalah penggunaan perintah ps yang sangat mendasar. Cukup ketik 'ps' di konsol Anda untuk melihat hasilnya:

$ ps

Secara default, ini menunjukkan kepada kita empat kolom informasi.

  • PID adalah ID Proses dari perintah yang sedang berjalan (CMD)
  • TTY adalah tempat menjalankan perintah yang sedang berjalan
  • TIME menceritakan tentang berapa banyak waktu yang digunakan oleh CPU saat menjalankan perintah
  • CMD adalah perintah yang berjalan sebagai proses saat ini

Menjalankan perintah ps tanpa opsi apa pun hanyalah format perintah yang paling sederhana, ia tidak mengembalikan banyak informasi. Untuk memaksimalkan kekuatan perintah ps, mari kita jalankan dengan opsi tambahan yang akan dijelaskan lebih detail di bagian berikut.

01) Menampilkan semua proses (format UNIX)

Untuk melihat semua proses di sistem Linux Anda, Anda dapat menjalankan salah satu dari perintah berikut:

$ ps -A

atau:

$ ps -e

Selain itu, untuk membuat daftar semua proses yang berjalan, jalankan:

$ ps -r

02) Menampilkan semua proses (format BSD)

Untuk melihat semua proses di sistem Linux Anda menggunakan perintah ps dalam format BSD, Anda dapat menjalankan perintah berikut:

$ ps ax

atau

$ ps aux

Dimana:

  • USER - pengguna menjalankan proses
  • PID - id proses
  • %CPU / %MEM - persentase CPU / RAM yang digunakan oleh proses
  • VSZ - ukuran memori virtual yang ditempati oleh proses
  • RSS - ukuran memori fisik yang ditempati oleh proses
  • MULAI - waktu mulai
  • STAT - status proses di mana:S (tidur), R (berjalan), I (tidur terputus).
  • Waktu - menampilkan berapa lama waktu CPU yang diberikan oleh kernel untuk proses yang sedang berjalan.
  • COMMAND - perintah yang berjalan sebagai proses saat ini

03) Menampilkan semua proses yang dijalankan oleh suatu perintah

Untuk membuat daftar semua proses yang dijalankan oleh sebuah perintah, mari gunakan sintaks berikut:

$ ps -C <command_name>

Misalnya, daftar semua proses perintah '/usr/sbin/kerneloops' dengan menjalankan:

$ ps -C kerneloops

Anda juga dapat menggunakan argumen dalam bentuk daftar yang dipisahkan kosong atau dipisahkan koma, misalnya:

$ ps -C sshd,systemd

04) Menampilkan semua proses yang dijalankan oleh pengguna

Jika Anda ingin membuat daftar proses berdasarkan pengguna yang id pengguna 1000, jalankan perintah berikut:

$ ps -u 1000

Anda juga dapat mencari proses berdasarkan nama pengguna:

$ ps -U root -u root u

-U parameter akan memilih dengan real user ID (RUID) . Ini memilih proses yang nama pengguna atau ID aslinya ada di daftar daftar pengguna. ID Pengguna asli mengidentifikasi pengguna yang membuat proses.

Sedangkan parameter -u paramater akan memilih berdasarkan ID pengguna yang efektif (EUID)

05) Menampilkan proses yang dimiliki oleh grup

Untuk membuat daftar semua proses yang dimiliki oleh nama grup tertentu, mari jalankan perintah dengan -fG pilihan. Misalnya:

$ ps -fG cas

Untuk menampilkan semua proses berdasarkan id grup, Anda dapat menjalankan perintah dengan opsi '-g'. Misalnya:

$ ps -g 1

Keluaran:

   PID TTY          TIME CMD
     1 ?        00:00:03 systemd

06) Menampilkan proses dengan PID

Anda dapat membuat daftar semua proses dengan PID dengan menjalankan perintah ps dengan opsi '-fp'. Misalnya:

$ ps -fp 34531

Keluaran:

UID         PID   PPID  C STIME TTY          TIME CMD
cas       34531      1  0 06:16 ?        00:00:00 /lib/systemd/systemd --user

Selain itu, untuk membuat daftar semua proses berdasarkan PPID, jalankan perintah dengan opsi '--ppid':

$ ps -f --ppid 34529

Keluaran:

UID         PID   PPID  C STIME TTY          TIME CMD
cas       34609  34529  0 06:16 ?        00:00:00 sshd: cas@pts/0

07) Tampilkan proses menurut TTY

Untuk menampilkan semua proses dengan TTY, Anda dapat menjalankan perintah dengan opsi '-t'. Misalnya:

$ ps -t tty1

08) Menampilkan proses yang dimiliki oleh pengguna saat ini

Untuk membuat daftar semua proses yang dijalankan oleh pengguna saat ini, jalankan perintah dengan opsi '-x':

$ ps -x

09) Tampilkan semua proses dengan daftar format lengkap

Misalnya, mari kita jalankan perintah ps dengan -f option, untuk menampilkan semua proses dengan format lengkap:

$ ps -af

10) Menampilkan semua proses dengan format ekstra

Selain itu, untuk melihat daftar format lengkap ekstra dari hasil, jalankan perintah ps dengan -F pilihan. Misalnya:

$ ps -F

11) Menampilkan semua proses dalam format hierarki ASCII

Sebagai ilustrasi, dengan asumsi Anda ingin menampilkan semua proses pada sistem Linux Anda dalam format hierarki proses seni ASCII, mari jalankan:

$ ps af

Outputnya akan dalam format "hutan":

12) Menampilkan proses dalam keluaran yang diperlebar

Jika Anda ingin melebarkan output saat menjalankan perintah ps, gunakan w pilihan:

$ ps w

Mari membuat perbandingan antara output menjalankan 'ps w' dan 'ps':

13) Menampilkan proses menurut format yang ditentukan pengguna

Anda dapat menggunakan sintaks berikut untuk melihat dalam format yang ditentukan pengguna:

Syntax:
$ ps --format column_name
$ ps -o column_name
$ ps o column_name

For example:
$ ps -e -o user,pid,cmd

14) Tampilkan utas dengan id utas

Misalnya, untuk menampilkan utas dengan kolom SPID (SPID adalah id utas), jalankan:

$ ps -aT

15) Menampilkan informasi tentang rangkaian pesan

Selain itu, Anda dapat menggunakan opsi '-L' untuk mendapatkan informasi tentang thread di sistem Linux Anda:

$ ps -aL

Output dengan kolom 'LWP' menunjukkan id thread:

Beberapa contoh lagi

01) Periksa proses mana yang menggunakan RAM paling banyak

Perintah berikut akan menampilkan sebagian besar memori menggunakan proses, %MEM di kolom 1, PID di kolom ke-2 dan perintah di kolom ke-3 untuk semua proses yang berjalan di sistem:

$ ps -eo pmem,pid,cmd | sort -k 1 -nr

02) Menampilkan semua utas dari id proses tertentu

Ini akan menampilkan semua utas dari pid proses tertentu.

$ ps -Lf -p 3482

03) Menunjukkan anak dari proses induk

Ini akan menampilkan semua proses anak dari suatu proses dan berguna untuk mencari tahu proses apa yang telah dikeluarkan dari proses utama ini.

$ ps -o pid,pcpu,pmem,uname,comm -C apache2

04) Menampilkan berapa lama proses telah berjalan

Perintah berikut akan menunjukkan berapa lama proses 'mysql' telah berjalan di sistem:

$ ps -e -o pid,comm,etime | grep mysql
3107 mysqld_safe 18-07:01:53
3469 mysqld 18-07:01:52
  • etime :waktu yang berlalu sejak proses dimulai, dalam bentuk [[DD-]hh:]mm:ss.
  • etime :waktu yang berlalu sejak proses dimulai, dalam detik.

05) Dapatkan informasi keamanan

Jika kita ingin melihat siapa yang sedang login ke server Anda, kita dapat melihatnya menggunakan perintah ps:

$ ps -eo pid,user,args

Sekarang Anda dapat memetakan pid ke unit systemd masing-masing dengan perintah di bawah ini:

$ ps -e -o pid,unit,cmd

Kesimpulan

pstree (atau gunakan ps -axjf ) dan pgrep adalah perintah tambahan yang dapat membantu mendapatkan informasi tentang proses yang sedang berjalan.

Anda dapat menggunakan ps sebagai monitor real-time menggunakan perintah watch, katakanlah, kami ingin memfilter proses berdasarkan CPU dan Laporan penggunaan memori diperbarui setiap 1 detik.

$ watch -n 1 ‘ps -aux --sort -pmem, -pcpu’

Dalam tutorial ini, kita mempelajari banyak cara untuk menggunakan perintah ps di Linux. Untuk menjelajahi semua opsi, silakan lihat halaman manual ps. Terima kasih telah membaca dan silakan tinggalkan saran Anda di bagian komentar di bawah.


Linux
  1. Perintah Tee Linux dengan Contoh

  2. Perintah kepala Linux dengan Contoh

  3. Perintah JQ di Linux dengan Contoh

  1. Perintah wc Linux dengan Contoh

  2. Perintah sortir Linux dengan Contoh

  3. Perintah Echo di Linux (Dengan Contoh)

  1. Perintah man di Linux dengan Contoh

  2. Perintah AWK di Linux dengan Contoh

  3. Perintah Curl di Linux dengan Contoh