В чем разница между 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 не могут быть пойманы, заблокированы или проигнорированы.

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

QDII
источник
Вопрос
надетры

Ответы:

16

Как найдено в Википедии

SIGKILL

Сигнал SIGKILL отправляется процессу, чтобы немедленно завершить его. В отличие от SIGTERM и SIGINT, этот сигнал не может быть перехвачен или проигнорирован, и процесс приема не может выполнить какую-либо очистку при получении этого сигнала.

SIGSTOP

Сигнал SIGSTOP указывает операционной системе остановить процесс для последующего возобновления.

Волшебный май
источник
Возможно, вам также понравится, что SIGINT - это сигнал, который выдается при нажатии клавиш CTRL + C на терминале. SIGSTOP НЕ является сигналом, который посылается при нажатии клавиш CTRL + Z - на самом деле это сигнал SIGTSTP, и в отличие от SIGSTOP процесс может быть проигнорирован.
Shellbro
26

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

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

SIGSTOP приостанавливает процесс, пока вы не сделаете SIGCONT

parkydr
источник
4

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

antoox
источник