Bekerja dengan proses Linux seringkali berarti mengetahui ID prosesnya, atau PID. Ini adalah nomor unik yang diberikan untuk setiap perangkat lunak yang berjalan. Berikut adalah dua cara untuk mengetahui apa itu.
Apa itu ID Proses Linux?
Cara mendapatkan pid linux dengan perintah pidof
Cara menemukan pid dengan perintah pgrep di linux
Apa itu ID Proses Linux?
Secara internal, Linux melacak proses berjalannya dengan mengalokasikan mereka nomor ID yang unik, yang disebut ID Proses, atau PID. Setiap aplikasi yang berjalan, utilitas, dan daemon memiliki PID.
PID adalah nilai integer sederhana. Proses yang baru dimulai akan menerima PID yang lebih tinggi dari PID terakhir yang dikeluarkan. Jadi proses dengan PID tertinggi adalah yang terbaru - yaitu, yang terbaru - proses yang diluncurkan. Itu berjalan sampai sistem mencapai nilai maksimum untuk PID.
Batas atas untuk PID adalah 32768. Setelah angka itu tercapai, Linux kembali ke awal dan mencari PID yang telah menjadi gratis karena proses yang sebelumnya dimiliki telah berakhir.
Proses dengan PID 1 adalah proses pertama yang diluncurkan ketika Linux diluncurkan oleh proses boot-up. Pada sistem berbasis systemd yang akan terjadi
Systemd
. Pada sistem lain yang mungkin terjadi
init
, meskipun beberapa distribusi Linux menggunakan alternatif seperti
OpenRC
atau
S6
.
Terkadang berguna untuk menemukan PID suatu proses, biasanya karena Anda ingin melakukan beberapa tindakan pada proses itu. Berikut adalah dua metode berbeda untuk menemukan PID suatu proses saat Anda mengetahui nama dari prosesnya.
TERKAIT: Apa itu PIDS UNIX dan bagaimana cara kerjanya?
Cara mendapatkan pid linux dengan perintah pidof
Itu
pidof
Perintah dapat dianggap sebagai kombinasi "PID" dan "OF." Ini seperti menanyakan apa pid dari proses ini? Jika kita menggunakan perintah tanpa parameter, itu tidak melakukan apa -apa. Itu diam -diam mengembalikan Anda ke prompt perintah. Kita perlu menentukan nama proses.
pidof
memberitahu kita pid shell bash adalah 8304. Kita dapat memverifikasi itu dengan
ps
memerintah. Yang perlu kita lakukan hanyalah menelepon
ps
tanpa parameter. Ini akan melaporkan proses yang berjalan di sesi saat ini.
Karena
ps
Laporan tentang semua proses yang dapat ditemukannya, yang akan mencakup dirinya sendiri, itu memberi tahu kita ada a
pesta
proses dan a
ps
proses berjalan. Seperti yang kami harapkan,
pesta
proses memiliki pid yang sama itu
pidof
dilaporkan.
Jika Anda memiliki lebih dari satu jendela terminal terbuka,
pidof
akan melaporkan semuanya.
Perhatikan bahwa PID terdaftar dari tertinggi ke terendah atau, dengan kata lain, dari yang terbaru ke yang tertua.
Apa yang tidak ditunjukkannya adalah bahwa Anda mungkin bukan pemilik dari semua proses itu.
pidof
Temukan semua proses dengan nama yang cocok, terlepas dari siapa yang memilikinya. Mari kita lihat lebih dalam dengan menyalakan output
grep
. Kami menggunakan
-e
(Pilih semua proses) dan
-F
Opsi (daftar lengkap) dengan
ps
.
Dua dari proses bash milik pengguna Dave, yang ketiga milik pengguna Mary.
Terkadang satu aplikasi akan menghasilkan banyak proses, yang masing -masing menerima PID sendiri. Inilah yang kami dapatkan dengan Google Chrome.
Secara default,
pidof
Laporan tentang semua proses. Jika kita mau, kita dapat meminta hanya proses terbaru. Itu
-S
Opsi (Single Shot) melakukan hal itu.
Untuk menggunakan
membunuh
perintah untuk
Bunuh secara manual
semua dari
Chrome
Proses akan membosankan. Jika kita menangkap daftar proses ke dalam variabel, kita dapat meneruskan variabel itu ke
membunuh
memerintah. Itu
membunuh
Perintah dapat menerima beberapa PID pada perintahnya, sehingga dengan senang hati menerima masukan kita dan membunuh semua proses untuk kita.
Perintah pertama mengumpulkan output dari
pidof
dan menugaskannya ke variabel kami, yang kami beri nama
pid
. Kami tidak perlu
gema
Itu ke layar, kami hanya melakukan itu untuk menunjukkan apa yang dipegang variabel kami.
Kami meneruskan variabel ke
membunuh
Perintah, lalu gunakan
pidof
Sekali lagi untuk memeriksa apakah ada proses krom. Mereka semua terbunuh.
Satu keanehan
pidof
adalah bahwa itu tidak akan mengembalikan PID skrip shell. Itu mengembalikan pid dari
pesta
shell yang menjalankan skrip. Untuk melihat shell yang menjalankan skrip, kita perlu menggunakan
-X
Opsi (skrip).
pidof
mengembalikan pid shell bash, dan
ps
Menunjukkan kepada kita ada dua cangkang yang berjalan. Salah satunya adalah cangkang yang menjalankan
pidof
perintah, dan yang lainnya adalah shell yang menjalankan skrip.
Cara menemukan pid dengan perintah pgrep di linux
Itu
pgrep
Perintah bekerja sedikit seperti
pidof
Dalam mendapatkan ID proses di Linux. Namun, itu tidak hanya menemukan proses yang persis cocok dengan petunjuk pencarian, itu juga mengembalikan pid dari proses apa pun yang namanya
mengandung
teks pencarian.
Berikut adalah contoh di komputer yang memiliki Firefox berjalan di atasnya.
Semua perintah ini menemukan proses Firefox dan mengembalikan PID. Tetapi jika Anda memasukkan perintah:
Sendiri, bagaimana Anda tahu jika pGrep menemukan FI Refo x dan tidak, katakanlah, seorang Dameon bernama P Refor MD?
Jika Anda menambahkan
-l
Opsi (Nama Daftar), PGREP akan mencantumkan nama proses di samping PID.
Jika ada beberapa contoh proses pencocokan, semuanya terdaftar.
Perhatikan bahwa mereka terdaftar dalam urutan naik, yang merupakan urutan yang berlawanan dengan output dari
pidof
. Mereka terdaftar dari proses tertua hingga proses terbaru. Seperti yang kita lihat dengan
pidof
, tidak semua proses yang terdaftar tentu saja menjadi milik Anda.
Itu
-u
Opsi (ID Pengguna) Memungkinkan Anda mencari proses yang cocok dengan teks pencarian, dan dimiliki oleh bernama
pengguna
.
Kali ini kita melihat tiga proses bash dalam hasil. Yang lainnya sedang digunakan oleh
Mary
.
Dan kami dapat meminta untuk melihat semua proses untuk pengguna tertentu.
Untuk melihat baris perintah lengkap, gunakan
-A
Opsi (Daftar Lengkap).
Sepatah kata tentang kepemilikan pid
Tidak semua proses sistem dimiliki oleh pengguna root . Banyak, tentu saja, tetapi tidak semuanya. Misalnya, perintah ini berfungsi:
Itu gagal karena
akar
tidak memiliki proses itu. Pemilik yang sebenarnya adalah pengguna sistem yang disebut "Avahi." Menggunakan nama pengguna yang benar, perintah berfungsi.