Sự khác biệt giữa SIGKILL và SIGSTOP là gì?


19

Hướng dẫn mô tả SIGKILLSIGSTOPnhư thế này:

SIGKILL             9    Term    Kill signal
SIGTERM            15    Term    Termination signal
SIGSTOP      17,19,23    Term    Stop the process

và tiểu bang:

Các tín hiệu SIGKILL và SIGSTOP không thể bị bắt, chặn hoặc bỏ qua.

Nhưng sự khác biệt giữa 2 tín hiệu là gì?


Câu trả lời:


15

Như được tìm thấy trên Wikipedia

SIGKILL

Tín hiệu SIGKILL được gửi đến một quá trình để khiến nó chấm dứt ngay lập tức. Ngược lại với SIGTERM và SIGINT, tín hiệu này không thể bị bắt hoặc bỏ qua và quá trình nhận không thể thực hiện bất kỳ việc dọn dẹp nào khi nhận được tín hiệu này.

SIGSTOP

Tín hiệu SIGSTOP hướng dẫn hệ điều hành dừng một quá trình để nối lại sau này.


Bây giờ bạn cũng có thể muốn SIGINT là tín hiệu được phát ra khi bạn nhấn CTRL + C ở thiết bị đầu cuối. SIGSTOP KHÔNG phải là tín hiệu được gửi khi bạn nhấn CTRL + Z - tín hiệu này thực sự là SIGTSTP và trái với SIGSTOP có thể bị bỏ qua bởi một quy trình.
shellbro

25

SIGKILL giết chết một quá trình và không thể bị bắt

SIGTERM giết chết một quá trình nhưng có thể bị bắt để thực hiện một lối thoát duyên dáng

SIGSTOP đình chỉ quá trình cho đến khi bạn làm một SIGCONT


4

Như tên cho thấy, SIGKILLgiết quá trình thay vì SIGSTOPdừng quá trình cho đến khi SIGCONTđược gọi (để tiếp tục quá trình).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.