Apa perbedaan antara SIGKILL dan SIGSTOP?

19

Manual menjelaskan SIGKILLdan SIGSTOPmenyukai ini:

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

dan menyatakan:

Sinyal SIGKILL dan SIGSTOP tidak dapat ditangkap, diblokir, atau diabaikan.

tapi apa perbedaan antara 2 sinyal?

qdii
sumber
Pertanyaan superset pada SO: stackoverflow.com/questions/4042201/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Jawaban:

15

Seperti yang ditemukan di Wikipedia

SIGKILL

Sinyal SIGKILL dikirim ke suatu proses untuk menghentikannya segera. Berbeda dengan SIGTERM dan SIGINT, sinyal ini tidak dapat ditangkap atau diabaikan, dan proses penerimaan tidak dapat melakukan pembersihan setelah menerima sinyal ini.

SIGSTOP

Sinyal SIGSTOP memerintahkan sistem operasi untuk menghentikan proses untuk dimulainya kembali nanti.

Maggy May
sumber
Anda mungkin juga ingin sekarang bahwa SIGINT adalah sinyal yang dikeluarkan ketika Anda menekan CTRL + C di terminal. SIGSTOP BUKAN sinyal yang dikirim ketika Anda menekan CTRL + Z - ini sebenarnya SIGTSTP dan bertentangan dengan SIGSTOP dapat dengan diabaikan oleh suatu proses.
shellbro
25

SIGKILL membunuh suatu proses dan tidak bisa ditangkap

SIGTERM membunuh suatu proses tetapi dapat ditangkap untuk melakukan jalan keluar yang anggun

SIGSTOP menunda proses sampai Anda melakukan SIGCONT

parkydr
sumber
4

Seperti namanya, SIGKILLbunuh proses alih-alih SIGSTOPyang menghentikan proses sampai SIGCONTdipanggil (untuk melanjutkan proses).

antoox
sumber