Perintah yang berbeda digunakan untuk mengirim sinyal ke proses untuk menghentikan atau "membunuh" mereka. Ini diperlukan ketika suatu proses menjadi tidak responsif (hang), menyebabkan ketidakstabilan sistem, atau gagal melepaskan kendali atas file yang Anda coba ubah.
Menggunakan nomor pid untuk menghentikan proses
Anda dapat menggunakan perintah kill dengan tabel proses untuk mengakhiri proses. Dengan memasukkan kill diikuti oleh PID, Anda dapat menghentikan proses tertentu. Namun, tabel proses mungkin menampilkan proses yang bukan milik Anda. Sebagai pengguna, Anda dapat menggunakan perintah kill hanya dengan proses yang Anda miliki. Sebagai root, Anda dapat mematikan proses apa pun.
Sinyal Bunuh
Ada banyak cara untuk mematikan proses, masing-masing dipetakan ke sinyal. Sinyal ini menentukan cara mematikan proses. Beberapa sinyal lebih tepat daripada yang lain dalam situasi tertentu. Misalnya, Anda mungkin ingin menghentikan proses dengan anggun, memberinya waktu untuk membersihkan aktivitas terakhir. Namun, beberapa proses akan mengabaikan sinyal ini atau gagal berhenti dalam waktu yang wajar. Untuk itu, Anda mungkin harus mengeluarkan sinyal yang lebih agresif.
Ada banyak sinyal pembunuhan yang berbeda. Setiap sinyal memiliki nama dan satu atau lebih nilai angka yang sesuai; Anda dapat menggunakan keduanya dengan perintah kill. Beberapa sinyal yang paling umum dijelaskan di bawah ini:
1. SIGINT (2)
– Menghentikan proses dari terminal.
– Dapat ditangkap atau diabaikan.
– Sama seperti menekan Ctrl+C
2. SIGKILL (9)
– Membunuh proses dengan segera.
– Tidak dapat ditangkap atau diabaikan.
– Pilihan terakhir.
3. SIGTERM (15)
– Mengakhiri proses.
– Dapat ditangkap atau diabaikan.
– Dikirim dari program dan bukan terminal.
4. SIGSTOP (17, 19, 23)
– Jeda proses.
– Tidak dapat ditangkap atau diabaikan.
– Dikirim dari program dan bukan terminal.
5. SIGSTP (18, 20, 24)
– Menjeda proses dari terminal.
– Dapat ditangkap atau diabaikan.
– Sama seperti menekan Ctrl+Z.
Demo sinyal mematikan
Berikut ini adalah beberapa contoh penerapan sinyal mematikan. Untuk mengakhiri proses dengan ID 921 dengan baik:
$ kill 15 921
Jika gagal, segera hentikan proses:
$ kill 9 921
Atau, untuk menjeda daripada menghapus seluruh proses:
$ kill 17 921
bunuh Contoh Perintah
1. Untuk mendapatkan daftar sinyal:
# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGEMT 8) SIGFPE 9) SIGKILL 10) SIGBUS 11) SIGSEGV 12) SIGSYS 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGURG 17) SIGSTOP 18) SIGTSTP 19) SIGCONT 20) SIGCHLD 21) SIGTTIN 22) SIGTTOU 23) SIGIO 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGINFO 30) SIGUSR1 31) SIGUSR2
2. Untuk mengirim sinyal tertentu:
# kill -s 9
3. Untuk menentukan daftar proses untuk membunuh:
# kill 1234 2345 3456
4. Hentikan program menggunakan sinyal SIGTERM (terminate) default:
# kill process_id
5. Mengakhiri pekerjaan latar belakang:
# kill %job_id
6. Hentikan program dengan menggunakan sinyal SIGHUP (hang up). Banyak daemon akan dimuat ulang alih-alih dihentikan:
# kill -1|HUP process_id
7. Hentikan program menggunakan sinyal SIGINT (interrupt). Ini biasanya dimulai oleh pengguna yang menekan `Ctrl + C`:
# kill -2|INT process_id
8. Memberi sinyal ke sistem operasi untuk segera menghentikan program (yang tidak mendapat kesempatan untuk menangkap sinyal):
# kill -9|KILL process_id
9. Memberi sinyal ke sistem operasi untuk menjeda program hingga sinyal SIGCONT (“lanjutkan”) diterima:
# kill -17|STOP process_id
10. Kirim sinyal `SIGUSR1` ke semua proses dengan GID (id grup) yang diberikan:
# kill -SIGUSR1 -group_id