Что это. Просто интересно узнать о различии между SIGSTOP и SIGTSTP.
Какая разница между SIGSTOP и SIGTSTP?
Ответ 1
Оба сигнала предназначены для приостановки процесса, который в конечном итоге будет возобновлен с помощью SIGCONT
. Основными отличиями между ними являются:
-
SIGSTOP
является сигнал, посланный программным (например:kill -STOP pid
), тогда какSIGTSTP
(для сиг нал - т erminal остановка), также могут быть отправлены черезtty
драйвера с помощью пользовательского ввода на клавиатуре, как правило, Control - Z, -
SIGSTOP
нельзя игнорировать.SIGTSTP
может быть.
Ответ 2
/usr/include/x86_64-linux-gnu/bits/signum.h
#define SIGSTOP 19 /* Stop, unblockable (POSIX). */
#define SIGTSTP 20 /* Keyboard stop (POSIX). */
Ответ 3
SIGSTOP не может быть проигнорирован целевым процессом.
Хорошим примером этого является видеоплеер mpv
, он может игнорировать SIGTSTP
но не SIGSTOP
.
Вы можете проверить видео, запустив:
kill -SIGTSTP $(pidof mpv)
и kill -SIGSTOP $(pidof mpv)
Конечно, kill -SIGCONT $(pidof mpv)
чтобы возобновить игру.