Cara Membunuh Proses di Linux

How Kill Process Linux



Setiap sistem operasi Linux dilengkapi dengan perintah kill. Satu-satunya tujuan alat ini adalah untuk menghentikan proses target. Ini adalah alat yang ampuh yang membuat Linux cukup serbaguna, terutama di bidang server dan perusahaan di mana perubahan/pembaruan besar dapat diterapkan tanpa me-restart seluruh mesin. Dalam artikel ini, saya akan menunjukkan cara mematikan proses menggunakan membunuh , pkill dan Bunuh semua .

Membunuh sebuah proses

Untuk menghentikan proses, kami akan menggunakan beberapa alat: membunuh , pkill , dan Bunuh semua . Semuanya bekerja pada dasarnya dengan cara yang sama.







Alat-alat ini tidak menghentikan proses itu sendiri. Sebaliknya, mereka mengirim sinyal yang ditunjuk ke proses target atau kelompok proses. Jika Anda tidak menentukan sinyal tertentu, SIGTERM dikirim sebagai sinyal default. Namun, ada sejumlah sinyal yang didukung, misalnya, SIGKILL, SIGHUP, dll.



Inilah struktur perintah dasar untuk membunuh , pkill dan Bunuh semua .



$membunuh <signal_or_options> <PID(S)>
$pkill<signal_or_options> <nama proses>
$Bunuh semua <pilihan> <nama proses>

Jika memungkinkan, disarankan untuk menggunakan membunuh .





Membunuh , pkill dan Bunuh semua lokasi

Kill adalah perintah default untuk menghentikan proses.



$membunuh --Tolong

Ini dijalankan dari direktori /usr/bin.

$yang membunuh

Manfaatnya adalah, ia juga memungkinkan akses ke pkill, perintah lain yang mirip dengan kill yang memungkinkan penghentian proses berdasarkan namanya.

$pkill--Tolong

$yangpkill

Beberapa aplikasi menjalankan beberapa proses dari executable yang sama. Jika Anda ingin menghentikan sejumlah proses dengan nama yang sama, gunakan alat killall.

$Bunuh semua --Tolong

$yang Bunuh semua

Daftar semua proses yang berjalan

Tugas pertama adalah mengidentifikasi PID (nomor identifikasi proses) dan/atau nama proses yang ingin Anda hentikan. Untuk contoh ini, saya akan menggunakan Firefox sebagai proses target untuk dihentikan. Jalankan perintah berikut untuk mendaftar semua proses yang berjalan pada sistem.

$ps -KE

Untuk sebagian besar tugas, kita perlu mengetahui PID dari proses target. Namun, dalam situasi tertentu, menggunakan nama proses lebih cocok.

Jika Anda tahu persis nama proses target, Anda bisa langsung mendapatkan PID menggunakan pidof .

$pidof <nama proses>

Alat lain yang menarik untuk mengambil informasi tentang proses target adalah pgrep. Ini dirancang khusus untuk tujuan tersebut.

$pgrep<pilihan> <nama proses>

Bunuh sinyal

Sekarang, mari kita lihat sinyal yang didukung oleh alat pembunuh. Ini daftar yang sangat besar. Tentu saja, tidak semuanya diperlukan untuk setiap situasi. Faktanya, sebagian besar situasi hanya membutuhkan sedikit sinyal.

Pertama, mari kita lihat daftar yang membunuh dukungan.

$membunuh -NS

Ada 2 cara untuk menentukan sinyal mana yang ingin Anda kirim. Anda dapat menggunakan nama sinyal lengkap atau nilai yang setara.

$membunuh-<sinyal> <PID>

Atau,

$membunuh-<sinyal_nilai> <PID>

Sinyal yang paling populer adalah SIGHUP (1), SIGKILL (9) dan SIGTERM (15). Secara umum, SIGTERM adalah cara default dan teraman untuk menghentikan proses target.

Dalam kasus pkill, sinyal yang didukung sama dengan kill. Namun, dalam kasus killall, jumlah sinyal yang didukung dan nama sinyalnya berbeda.

$Bunuh semua -NS

Membunuh sebuah proses

Untuk mematikan suatu proses, kita memerlukan PID dari proses target itu. Dengan asumsi Anda memiliki PID, jalankan perintah berikut untuk mematikannya.

$membunuh <pilihan> <PID>

Di sini, kill akan mengirimkan sinyal default SIGTERM ke PID. Jika Anda ingin menghentikan beberapa proses, sebutkan semua PID yang dipisahkan oleh spasi.

$membunuh <pilihan> <PID_1> <PID_2>

Mari tentukan sinyal mana yang ingin Anda kirim ke target.

Ingin menghentikan proses menggunakan namanya saja? Gunakan pkill.

$pkill<pilihan> <nama proses>

Dalam beberapa kasus, aplikasi tertentu mungkin memiliki terlalu banyak proses yang berjalan. Mengetik semua PID itu memakan waktu dan melelahkan. Dalam skenario seperti itu, kami akan menggunakan alat killall. Ini sangat mirip dengan membunuh tetapi bekerja dengan nama proses.

$Bunuh semua <pilihan> <nama proses>

Misalnya, saat menjalankan Firefox, ia memulai beberapa proses. Untuk membunuh semuanya sekaligus, jalankan perintah ini.

$Bunuh semuafirefox

Ingin menghentikan semua proses yang berjalan di bawah pengguna tertentu? Killall bisa melakukan pekerjaan itu, tidak masalah. Hati-hati saat menjalankan yang ini karena dapat merusak sistem dan membuat masalah lain. Ini tidak akan berfungsi jika Anda mencoba menghentikan proses yang berjalan di bawah pengguna lain dengan hak istimewa yang lebih tinggi.

$Bunuh semua -u <pengguna>

Konflik izin

Karakteristik yang melekat pada hierarki pengguna Linux juga berlaku saat Anda akan menghentikan aplikasi. Seorang pengguna tidak dapat menghentikan proses yang berjalan dengan hak istimewa yang lebih tinggi, hanya proses dengan hak istimewa yang sama/lebih rendah. Selain itu, pengguna tidak dapat memanipulasi proses yang berjalan di bawah pengguna yang berbeda.

Sebagai contoh, mari kita pertimbangkan perintah yes. Jika disebut sebagai pengguna saat ini, itu dapat dengan mudah dihentikan menggunakan kill.

$membunuh Ya

Sekarang, bagaimana jika Ya sedang berlari di bawah akar ? Memanggil kill sebagai pengguna saat ini tidak akan berfungsi.

Demikian pula, jika suatu proses berjalan di bawah pengguna lain, Anda tidak dapat menghentikannya dari akun pengguna yang berbeda.

Pikiran terakhir

Dalam artikel ini, hanya dasar-dasar dan penggunaan umum dari perintah ini yang ditampilkan. Alat pembunuh ini mampu melakukan lebih dari itu. Untuk memiliki pengetahuan mendalam tentang kemampuan alat apa pun, saya sarankan untuk memeriksa halaman manual.

$pria membunuh

$priapkill

Menikmati!