В чем разница между 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.