Có một số tín hiệu có khuynh hướng mặc định là chấm dứt quá trình. Tín hiệu kết thúc cuối cùng là SIGKILL vì nó không thể được xử lý và quá trình không có lựa chọn nào khác ngoài việc chết. Tuy nhiên, điều này cũng có nghĩa là nếu bạn gửi nó, quá trình này sẽ không có cơ hội để dọn dẹp. Do đó, cách cư xử tốt yêu cầu gửi tín hiệu như SIGTERM có thể được xử lý trước và chỉ khi quá trình không thoát sau một thời gian gửi SIGKILL.
Lưu ý rằng SIGINT và SIGQUIT không phải là ứng cử viên tốt cho việc chấm dứt quá trình tùy ý. Do thực tế là chúng có thể được tạo từ bàn phím của thiết bị đầu cuối, nhiều ứng dụng sử dụng chúng cho các mục đích đặc biệt. Ví dụ, trình thông dịch python sử dụng SIGINT để tạo KeyboardInterrupt
ngoại lệ (cũng trong các phiên python tương tác nơi nó chỉ đơn giản trở về dấu nhắc) và JVM sử dụng SIGQUIT để kết xuất dấu vết ngăn xếp. SIGINT và SIGQUIT vẫn duy trì hiệu quả đối với hầu hết các tiện ích dòng lệnh tiêu chuẩn như find
hoặc cat
.
Trong quá trình tắt hệ thống, hầu hết các hệ thống UNIX và Linux đều gửi SIGTERM cho tất cả quá trình, sau 5 giây chờ đợi, sau đó là SIGKILL. Đây là cách được khuyến nghị để tắt một cách an toàn một quy trình tùy ý.
Cũng lưu ý rằng ngay cả SIGKILL cũng không thể chấm dứt một quá trình bị mắc kẹt trong sự chờ đợi không bị gián đoạn cho đến khi quá trình thức dậy.
SIGKILL
.