Paksa keluar dari proses yang salah menggunakan perintah Linux ini
Untuk menjelaskan arti dari 'Proses' dengan kata-kata yang paling sederhana adalah bahwa itu adalah contoh yang berjalan dari aplikasi atau program apa pun di sistem Anda. Anda mungkin menjalankan beberapa aplikasi secara bersamaan seperti menjelajah, mendengarkan musik yang bekerja di terminal Anda, dll. Ada banyak proses latar belakang yang terkait dengan aplikasi ini yang dijalankan oleh pengguna.
Setiap aplikasi atau program yang berjalan di sistem Anda membuat beberapa proses yang terkait dengan aplikasi tunggal Anda. Terkadang ini mungkin menjadi masalah dan menyingkirkan proses ini adalah satu-satunya pilihan yang Anda miliki.
'Membunuh' sebuah proses adalah salah satu opsi berguna yang disediakan Linux untuk menghentikan proses yang sedang berlangsung, baik itu proses latar depan atau proses latar belakang. Pada artikel ini, kami akan meninjau perintah seperti membunuh
, pkill
dan Bunuh semua
untuk memaksa keluar dari proses apa pun pada sistem.
Mengapa membunuh Proses?
Memahami konsep membunuh suatu proses adalah penting sebelum melanjutkan dalam tutorial ini. Membunuh mungkin tampak cara yang sangat brutal untuk mengekspresikan konsep tersebut, tetapi apa artinya secara kiasan adalah dengan paksa membatalkan suatu proses.
Sekarang, mengapa membatalkan atau menghentikan proses yang sedang berlangsung? Ketika beberapa proses berjalan di latar belakang, semua atau beberapa dari mereka mungkin tidak berfungsi dan dapat menyebabkan sistem Anda berperilaku tidak semestinya. Ini menunda tugas Anda yang sedang berlangsung karena proses yang tidak berfungsi dapat membekukan sistem Anda untuk sementara waktu.
Terkadang, menghentikan semua proses yang salah tampaknya menjadi satu-satunya pilihan untuk memulihkan sistem Anda menjadi normal. Linux memungkinkan Anda untuk mematikan proses menggunakan pid
atau nama proses.
Menggunakan halaman
memerintah
Sebagian besar pengguna Linux akrab dengan grep
memerintah. Itu halaman
perintah dapat digunakan pada baris yang sama dari grep
.
halaman
perintah saat digunakan, menampilkan pid
dari proses yang berjalan seperti yang ditentukan dalam perintah. Perintah ini akan terbukti sangat membantu saat menggunakan pkill
memerintah.
Sintaks Umum:
pgrep [opsi] [pola]
Opsi penting tersedia dengan halaman
memerintah
Pilihan | Keterangan |
-u | daftar id proses yang dimiliki oleh pengguna tertentu |
-C | hitung jumlah proses pencocokan |
-SAYA | daftar hanya nama proses |
-sebuah | daftar path lengkap dari nama proses |
Mari kita tunjukkan penggunaan halaman
perintah menggunakan contoh.
pgrep -u gaurav gnome
Di sini, kami ingin melihat pid
dari proses gnome yang dimiliki oleh pengguna 'gaurav'. Pilihan -u
memungkinkan Anda untuk membuat daftar pid
dari proses yang dimiliki oleh pengguna tertentu. Dalam hal ini, pengguna gaurav.
Keluaran:
gaurav@ubuntu:~$ pgrep -u gaurav gnome 1752 1755 1909 1922 2021 2576 4279 gaurav@ubuntu:~$
Saat kita melanjutkan dengan tutorial ini, halaman
perintah akan membantu kami dalam mengonfirmasi jika proses telah dimatikan atau masih berjalan.
Mari kita sekarang pindah ke pkill
perintah dan pelaksanaannya.
Menggunakan pkill
memerintah
Anda dapat menggunakan pkill
perintah di Linux untuk mematikan proses menggunakan nama proses. Bahkan jika Anda tidak tahu pid
dari beberapa proses, meskipun demikian Anda dapat mematikan proses tertentu menggunakan pkill
memerintah.
Proses dapat ditentukan dengan nama lengkap atau nama parsial saat menggunakan pkill
memerintah. Bahkan jika Anda memasukkan sebagian nama proses, pkill
perintah akan mencocokkan semua proses yang berjalan dengan nama yang cocok yang telah Anda masukkan dalam perintah.
Sintaksis:
pkill [opsi][process_name_pattern]
Contoh:
Mari kita tampilkan proses yang sedang berjalan menggunakan atas
memerintah. Anda juga dapat menggunakan ps
perintah untuk membuat daftar proses.
atas
atas - 14:24:02 hingga 3:12, 1 pengguna, rata-rata memuat: 0,29, 0,48, 0,58 Tugas: total 221, 1 berjalan, 172 tidur, 0 berhenti, 1 zombie %Cpu(s): 5,6 kita, 1,0 sy , 0.0 ni, 92.9 id, 0.4 wa, 0.0 hi, 0.1 si, 0.0 st KiB Mem : 3928240 total, 610456 gratis, 2233152 digunakan, 1084632 buff/cache KiB Swap: total 4083708, 3378884 gratis, 704824 digunakan. 1187268 avail Mem PID PENGGUNA PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4077 gaurav 20 0 3312128 673480 118360 S 19.6 17.1 15:13.23 Konten Web 3712 gaurav 20 0 3953008 453544 116476 S 4.0 11.5 9:28.39 MainThread 2010 gaurav 20 0 4084232 111096 45024 S 1.7 2.8 3:14.85 gnome-shell 1197 root 20 0 1039612 33704 22988 S 1.0 0.9 3:04.42 Xorg 1426 couchdb 20 0 3772396 16908 2520 S 0.7 0.4 1:50.83 beam.smp 3288 gaurav 20 0 722480 25048 18272 S 0.7 0.6 0:06.84 gnome-terminal- 3915 gaurav 20 0 2804900 231524 111228 S 0,7 5.9 0:54.42 Konten Web 4146 gaurav 20 0 3017924 245304 120604 S 0,7 6.2 2:01.21 Konten Web 4417 gaurav 20 0 2964208 234396 119160 S 0,7 6.0 0 :59.90 Konten Web 4860 gaurav 20 0 3066800 372920 132544 S 0,7 9.5 0:48.20 Konten Web 16007 gaurav 20 0 41944 3780 3116 R 0,7 0,1 0:00.28 atas
Menggunakan atas
perintah akan menampilkan beberapa proses di terminal Anda. Mari kita coba menampilkan proses dengan nama tertentu. Kami akan menggunakan grep
perintah untuk menampilkan proses yang namanya cocok dengan string 'mongo'.
atas | grep -i mongo
Catatan: Di sini, saya telah menggunakan opsi -i untuk membuat pencarian tidak peka huruf besar/kecil.
Output dari perintah ini akan menampilkan proses yang cocok dengan nama 'mongo'
1158 mongodb 20 0 288564 4848 1320 S 0.7 0.1 1:03.22 mongod 1158 mongodb 20 0 288564 4848 1320 S 1.0 0.1 1:03.25 mongod 1158 mongodb 20 0 288564 4848 1320 S 0.7 0.1 1:03.27 mongod 1158 mongodb 20 0 288564 4848 1320 S 0.7 0.1 1:03.29 mongod 1158 mongodb 20 0 288564 4848 1320 S 0.7 0.1 1:03.31 mongod 1158 mongodb 20 0 288564 4848 1320 S 0.7 0.1 1:03.33 mongod 1158 mongodb 20 0 288564 4848 1320 S 1.0 0.1 1:03.36 mongod 1158 mongodb 20 0 288564 4848 1320 S 0.7 0.1 1:03.38 mongod 1158 mongodb 20 0 288564 4848 1320 S 0.7 0.1 1:03.40 mongod 1158 mongodb 20 0 288564 4848 1320 S 1.0 0.1 1:03.43 mongod 1158 mongodb 20 0 288564 4848 1320 S 0.7 0.1 1:03.45 mongod 1158 mongodb 20 0 288564 4848 1320 S 1.0 0.1 1:03.48 mongod 1158 mongodb 20 0 288564 4848 1320 S 0.3 0.1 1:03.49 mongod 1158 mongodb 20 0 288564 4848 1320 S 1.0 0.1 1:03.52 mongod 1158 mongodb 20 0 288564 4848 1320 S 0,7 0,1 1:03,54 mongod 1158 mongodb 20 0 288564 4848 1320 S 1,0 0,1 1:03,57 mongod
Sekarang, kita akan menggunakan pkill
perintah untuk mematikan proses bernama 'mongo'.
pkill mongo
Perintah ini sekarang akan mematikan proses mongo. Kami dapat mengkonfirmasi jika proses telah dipaksa untuk berhenti dengan menggunakan halaman
perintah yang menampilkan pid
proses yang berjalan sesuai dengan kriteria yang ditentukan oleh pengguna.
gaurav@ubuntu:~$ pgrep mongo gaurav@ubuntu:~$
Perintah ini tidak akan mengembalikan nilai. Ini menegaskan bahwa proses 'mongo' sekarang dimatikan menggunakan pkill
memerintah.
Opsi yang sering digunakan dengan pkill
memerintah
Saat menggunakan pkill
perintah kita akan membutuhkan opsi yang disebutkan untuk penggunaan yang tepat dan mudah dari pkill
memerintah.
Pilihan | Keterangan |
-F | cocok dengan argumen lengkap termasuk spasi, tanda kutip, karakter khusus |
-u | untuk menginformasikan proses pkill agar sesuai dengan proses yang dijalankan oleh pengguna yang ditentukan |
-1 | memuat ulang proses |
-9 | membunuh proses |
-15 | dengan anggun membatalkan suatu proses |
Mari kita lihat satu contoh lagi dari pkill
perintah menggunakan -F
pilihan.
Ada dua perintah yang sedang dijalankan di terminal seperti yang ditunjukkan di bawah ini.
ping bbc.com ping youtube.com
Kedua proses diprakarsai oleh ping
memerintah. Sekarang, misalkan kita ingin menghentikan hanya satu proses “ping youtube.com” maka kita harus menggunakan -F
pilihan dengan pkill
perintah yang membunuh proses dengan nama tertentu termasuk spasi dan kutipan dari nama proses.
Memerintah:
gaurav@ubuntu:~$ pkill -f "ping youtube.com" gaurav@ubuntu:~$
Hasil:
gaurav@ubuntu:~$ ping youtube.com PING youtube.com (142.250.67.206) 56(84) byte data. 64 byte dari bom12s08-in-f14.1e100.net (142.250.67.206): icmp_seq=1 ttl=117 waktu=30.9 ms 64 byte dari bom12s08-in-f14.1e100.net (142.250.67.206): icmp_seq=2 ttl =117 waktu=121 md 64 byte dari bom12s08-in-f14.1e100.net (142.250.67.206): icmp_seq=206 ttl=117 waktu=86,5 md 64 byte dari bom12s08-in-f14.1e100.net (142.250.67.206 ): icmp_seq=207 ttl=117 waktu=105 md Dihentikan gaurav@ubuntu:~$
Di sini, “ping youtube.com
” proses sekarang dimatikan dan “ping bbc.com
” masih berjalan di terminal.
Dalam kasus, jika kita telah menggunakan pkill ping
perintah, itu akan membunuh keduanya— ping
proses yang tidak diinginkan.
Sinyal yang digunakan dengan pkill
memerintah
pkill
memaksa proses untuk berhenti dengan mengirimkan sinyal tertentu ke proses itu. Ada tiga kemungkinan sinyal yang pkill
perintah dapat mengirim ke proses tergantung pada perintah yang diberikan pengguna.
Berikut adalah daftar sinyal yang tersedia.
Sinyal | Spesifikasi |
1 (MEMPERCEPATKAN ) | memuat ulang proses yang ditentukan |
9 (MEMBUNUH ) | membunuh proses yang ditentukan |
15 (KETENTUAN ) | dengan lembut menghentikan atau membatalkan proses yang ditentukan |
Untuk tutorial ini, kita akan sangat bergantung pada MEMBUNUH
sinyal. Mari kita lihat beberapa contoh untuk memahaminya dengan lebih baik.
Menggunakan halaman
perintah untuk mendapatkan pid
cocok dengan nama Apache.
gaurav@ubuntu:~$ pgrep apache 1218 10402 10403 gaurav@ubuntu:~$
pkill -Bunuh apache
ATAU Anda juga dapat menggunakan perintah dengan angka (mis. 1, 9, 15)
pkill -9 apache
Kedua perintah yang ditunjukkan di atas akan mematikan proses apache. Konfirmasi dengan halaman
perintah lagi.
gaurav@ubuntu:~$ pgrep apache gaurav@ubuntu:~$
sebagai halaman
perintah tidak mengembalikan output, membuktikan bahwa proses apache telah dimatikan.
Kesimpulan
Dalam tutorial ini, kita belajar tentang pkill
perintah dan bagaimana itu digunakan untuk mematikan proses menggunakan nama proses secara langsung. Kami juga belajar tentang halaman
perintah yang digunakan untuk mengambil id proses dari proses yang dijalankan oleh pengguna tertentu. Itu halaman
perintah memungkinkan kita untuk memeriksa silang jika proses dimatikan.