Яка різниця між SIGKILL і SIGSTOP?


20

Посібник описує SIGKILLі SIGSTOPтак:

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

і заявляє:

Сигнали SIGKILL і SIGSTOP не можуть бути захоплені, заблоковані або ігноровані.

але яка різниця між двома сигналами?


Відповіді:


16

Як зустрічається у Вікіпедії

SIGKILL

Сигнал SIGKILL надсилається до процесу, щоб викликати його негайне припинення. На відміну від SIGTERM та SIGINT, цей сигнал не може бути захоплений або ігнорований, і процес прийому не може виконувати будь-яку очистку після отримання цього сигналу.

SIGSTOP

Сигнал SIGSTOP вказує операційній системі зупинити процес для подальшого відновлення.


Можливо, вам також зараз сподобається, що SIGINT - це сигнал, який видається при натисканні CTRL + C на терміналі. SIGSTOP НЕ є сигналом, який надсилається, коли ви натискаєте CTRL + Z - це насправді SIGTSTP і всупереч SIGSTOP може ігноруватися процесом.
shellbro

26

SIGKILL вбиває процес і не може бути спійманий

SIGTERM вбиває процес, але може бути спійманий, щоб зробити витончений вихід

SIGSTOP призупиняє процес, поки ви не зробите SIGCONT


4

Як випливає з назви, SIGKILLвбийте процес, замість SIGSTOPякого зупиніть процес, поки не SIGCONTбуде викликано (щоб продовжити процес).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.