Ada sejumlah sinyal yang disposisi defaultnya adalah untuk menghentikan proses. Sinyal terminasi terakhir adalah SIGKILL karena tidak dapat ditangani dan proses tidak memiliki pilihan selain mati. Namun ini juga berarti bahwa jika Anda mengirimnya, proses tersebut kehilangan kesempatan untuk membersihkan. Oleh karena itu, perilaku yang baik perlu mengirim sinyal seperti SIGTERM yang dapat ditangani terlebih dahulu dan hanya jika prosesnya tidak keluar setelah beberapa waktu mengirimkannya SIGKILL.
Perhatikan bahwa SIGINT dan SIGQUIT bukan kandidat yang baik untuk penghentian proses sewenang-wenang. Karena fakta bahwa mereka dapat dihasilkan dari keyboard terminal, banyak aplikasi menggunakannya untuk tujuan khusus. Misalnya, interpreter python menggunakan SIGINT untuk menghasilkan KeyboardInterrupt
pengecualian (juga dalam sesi python interaktif di mana ia hanya kembali ke prompt) dan JVM menggunakan SIGQUIT untuk membuang jejak stack. SIGINT dan SIGQUIT tetap efektif untuk sebagian besar utilitas baris perintah standar seperti find
atau cat
.
Selama shutdown sistem, sebagian besar sistem UNIX dan Linux mengirim SIGTERM ke semua proses, diikuti oleh 5 detik menunggu, diikuti oleh SIGKILL. Ini adalah cara yang disarankan untuk mematikan proses arbitrer dengan aman.
Perhatikan juga bahwa bahkan SIGKILL mungkin tidak menghentikan proses yang macet dalam menunggu tanpa gangguan sampai proses bangun.
SIGKILL
.