Terkadang, saat bekerja di mesin Linux, Anda akan melihat bahwa aplikasi atau proses baris perintah macet (menjadi tidak responsif). Kemudian dalam kasus tersebut, menghentikannya adalah satu-satunya jalan keluar. Baris perintah Linux menawarkan utilitas yang dapat Anda gunakan dalam skenario ini. Ini disebut bunuh .
Dalam tutorial ini, kita akan membahas dasar-dasar kill menggunakan beberapa contoh yang mudah dipahami. Namun sebelum kita melakukannya, perlu disebutkan bahwa semua contoh dalam artikel telah diuji pada mesin Ubuntu 16.04.
Perintah mematikan Linux
Perintah kill biasanya digunakan untuk membunuh suatu proses. Secara internal ia mengirimkan sinyal, dan tergantung pada apa yang ingin Anda lakukan, ada sinyal berbeda yang dapat Anda kirim menggunakan alat ini. Berikut adalah sintaks perintahnya:
kill [options] <pid> [...]
Dan inilah cara halaman manual alat menjelaskannya:
The default signal for kill is TERM. Use -l or -L to list available signals. Particularly useful
signals include HUP, INT, KILL, STOP, CONT, and 0. Alternate signals may be specified in three ways:
-9, -SIGKILL or -KILL. Negative PID values may be used to choose whole process groups; see the PGID
column in ps command output. A PID of -1 is special; it indicates all processes except the kill
process itself and init.
Contoh gaya T&J berikut akan memberi Anda gambaran yang lebih baik tentang cara kerja perintah kill.
Q1. Bagaimana cara menghentikan proses menggunakan perintah kill?
Ini sangat mudah - yang perlu Anda lakukan adalah mendapatkan pid dari proses yang ingin Anda bunuh, lalu meneruskannya ke perintah kill.
kill [pid]
Misalnya, saya ingin mematikan proses 'gthumb' di sistem saya. Jadi saya pertama kali menggunakan perintah ps untuk mengambil pid aplikasi, dan kemudian meneruskannya ke perintah kill untuk menghentikannya. Berikut tangkapan layar yang menunjukkan semua ini:
Q2. Bagaimana cara mengirim sinyal khusus?
Seperti yang telah disebutkan di bagian pendahuluan, TERM adalah sinyal default yang dikirim oleh kill ke aplikasi/proses yang bersangkutan. Namun, jika mau, Anda dapat mengirim sinyal lain yang mematikan dukungan menggunakan -s opsi baris perintah.
kill -s [signal] [pid]
Misalnya, jika suatu proses tidak merespons sinyal TERM (yang memungkinkan proses melakukan pembersihan akhir sebelum berhenti), Anda dapat menggunakan sinyal KILL (yang tidak mengizinkan proses melakukan pembersihan apa pun). Berikut adalah perintah yang harus Anda jalankan dalam kasus tersebut.
kill -s KILL [pid]
Q3. Apa semua sinyal yang dapat Anda kirim menggunakan kill?
Tentu saja, pertanyaan logis berikutnya yang akan muncul di benak Anda adalah bagaimana mengetahui semua sinyal yang dapat Anda kirim menggunakan kill. Untungnya, ada opsi baris perintah -l yang mencantumkan semua sinyal yang didukung.
kill -l
Berikut adalah output dari perintah di atas yang dihasilkan pada sistem kami:
Q4. Apa cara lain untuk mengirim sinyal?
Dalam salah satu contoh sebelumnya, kami memberi tahu Anda jika Anda ingin mengirim sinyal KILL, Anda dapat melakukannya dengan cara berikut:
kill -s KILL [pid]
Namun, ada beberapa alternatif lain juga:
kill -s SIGKILL [pid]
kill -s 9 [pid]
Angka yang sesuai dapat diketahui dengan menggunakan opsi -l yang telah kita bahas pada contoh sebelumnya.
Q5. Bagaimana cara mematikan semua proses yang sedang berjalan sekaligus?
Jika pengguna ingin mematikan semua proses yang mereka bisa (ini tergantung pada tingkat hak istimewa mereka), maka alih-alih menentukan sejumlah besar ID proses, mereka cukup meneruskan opsi -1 untuk mematikan.
Misalnya:
kill -s KILL -1
Kesimpulan
Perintah kill cukup mudah dipahami dan digunakan. Ada sedikit kurva pembelajaran dalam hal daftar opsi sinyal yang ditawarkannya, tetapi seperti yang kami jelaskan di sini, ada opsi untuk melihat sekilas daftar itu juga. Latih saja apa pun yang telah kita diskusikan dan Anda harus melakukannya dengan baik. Untuk informasi lebih lanjut, buka halaman manual alat.