Cara Membunuh Proses dengan Nama di Linux

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

PilihanKeterangan
-udaftar id proses yang dimiliki oleh pengguna tertentu
-Chitung jumlah proses pencocokan
-SAYAdaftar hanya nama proses
-sebuahdaftar 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.

PilihanKeterangan
-Fcocok dengan argumen lengkap termasuk spasi, tanda kutip, karakter khusus
-uuntuk menginformasikan proses pkill agar sesuai dengan proses yang dijalankan oleh pengguna yang ditentukan
-1memuat ulang proses
-9membunuh proses
-15dengan 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.

SinyalSpesifikasi
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.