Apenas me perguntando sobre a diferença entre os sinais SIGSTOP e SIGTSTP.
Apenas me perguntando sobre a diferença entre os sinais SIGSTOP e SIGTSTP.
Respostas:
Ambos os sinais são projetados para suspender um processo que será eventualmente retomado SIGCONT. As principais diferenças entre eles são:
SIGSTOPé um sinal enviado por meio de programação (por exemplo: kill -STOP pid) enquanto SIGTSTP(por sig nal - t erminal paragem ) pode também ser enviado através do ttycontrolador por um usuário digitando no teclado, geralmente Control- Z.
SIGSTOPnão pode ser ignorado. SIGTSTPpode ser.
Control-Zque não é acionado SIGTSTPou acha que não deveria?
terminal stopsignifica TSTP.
/usr/include/x86_64-linux-gnu/bits/signum.h
#define SIGSTOP 19 /* Stop, unblockable (POSIX). */
#define SIGTSTP 20 /* Keyboard stop (POSIX). */
/usr/include/sys/iso/signal_iso.h
/usr/include/sys/signal.h
SIGSTOP não pode ser ignorado pelo processo direcionado.
Um bom exemplo disso é o reprodutor de vídeo mpv, ele pode ignorar, SIGTSTPmas não pode SIGSTOP.
Você pode testar com um vídeo em execução:
kill -SIGTSTP $(pidof mpv)
e
kill -SIGSTOP $(pidof mpv)
Claro, kill -SIGCONT $(pidof mpv)para retomar o jogo.