Perbedaan SIGKILL dan SIGTERM untuk Menghentikan Proses di Linux

Jumat, 08 November 2019

Perbedaan SIGKILL dan SIGTERM untuk Menghentikan Proses di Linux. Oke kali ini saya akan sharing sedikit mengenai SIGKILL dan SIGTERM. Keduanya sama-sama bisa digunakan untuk mematikan proses yang sedang berjalan, namun mekanisme nya berbeda.


SIGTERM
Secara default perintah kill akan mengirim sinyal SIGTERM. Namun secara spesifik SIGTERM bisa juga menggunakan perintah kill -15. Sebagai contoh disini saya ingin menghentikan proses dengan PID 586 yang merupakan proses dari firefox.
Nah, perintah untuk mengirim sinyal sigterm yang bisa digunakan adalah
kill 586
atau
kill -15 586
atau
kill -TERM 586
Bisa dibilang SIGTERM ini adalah menghentikan sebuah proses yang berjalan dengan cara "halus". Setelah sinyal SIGTERM dikirim maka proses terminate akan dilakukan secara berurutan dimulai dari pemutusan koneksi socket, penghapusan berkas temp, penginformasian ke sub-proses bahwa proses induknya mati, dan seterusnya.

Bisa dibilang ini adalah cara normal untuk menghentikan sebuah proses. Dan perlu diketahui jika sinyal yang dikirim ini bisa saja ditolak sehingga proses masih berjalan meski kita sudah megirim sinyal SIGTERM.

SIGKILL
Nah, yang kedua ini bisa dibilang adalah cara "kasar" untuk menghentikan sebuah proses. SIGKILL atau "kill -9" biasa digunakan untuk menghentikan proses secara paksa.
Contoh penggunaan SIGKILL
kill -9 586
atau
kill -KILL 586
Berbeda dengan SIGTERM dimana proses akan dihentikan secara halus dan berurutan, maka SIGKILL  akan menghentikan proses dengan cepat setelah sinyal dikirim, Imbas dari penghentian proses secara kasar ini mungkin saja masih ada berkas temporary yang tertinggal, atau proses lain yang terhubung dengan PID yang kita hentikan akan tiba-tiba error.

Namun SIGKILL ini efektif untuk menghentikan paksa proses yang hang ataupun tidak bisa dihentikan secara normal menggunakan SIGTERM.

Menghentikan proses menggunakan SIGKILL akan sangat membantu jika proses yang ingin kita hentikan sedang bermasalah dan ingin kita hentikan secepatnya. Namun usahakan selalu menggunakan SIGTERM terlebih dahulu, dan menggunakan SIGKILL sebagai opsi terakhir.

Oke mungkin itu saja tutorial singkat kali ini. Semoga bermanfaat. Jika ada yang ingin ditambahkan silahkan tinggalkan komentar.

Artikel Terkait Perintah Terminal