C'est tout. Je me demandais simplement quelle était la différence entre SIGSTOP et SIGTSTP.
Les deux signaux sont conçus pour suspendre un processus qui sera éventuellement repris avec SIGCONT
. Les principales différences entre eux sont:
SIGSTOP
est un signal envoyé par programme (par exemple: kill -STOP pid
) tandis que SIGTSTP
(pour sig nal - t erminal stop) peut également être envoyé via le pilote tty
par un utilisateur tapant au clavier, généralement Control-Z.
SIGSTOP
ne peut pas être ignoré. SIGTSTP
pourrait être.
/usr/include/x86_64-linux-gnu/bits/signum.h
#define SIGSTOP 19 /* Stop, unblockable (POSIX). */
#define SIGTSTP 20 /* Keyboard stop (POSIX). */
SIGSTOP ne peut être ignoré par le processus ciblé.
Un bon exemple de cela est le lecteur vidéo mpv
, il peut ignorer SIGTSTP
mais pas SIGSTOP
.
Vous pouvez tester avec une vidéo en cours d'exécution:
kill -SIGTSTP $(pidof mpv)
And kill -SIGSTOP $(pidof mpv)
Bien sûr, kill -SIGCONT $(pidof mpv)
pour reprendre la lecture.