Me pregunto acerca de la diferencia entre las señales SIGSTOP y SIGTSTP.
Me pregunto acerca de la diferencia entre las señales SIGSTOP y SIGTSTP.
Respuestas:
Ambas señales están diseñadas para suspender un proceso que eventualmente se reanudará con SIGCONT. Las principales diferencias entre ellos son:
SIGSTOPes una señal enviada mediante programación (por ejemplo: kill -STOP pid), mientras SIGTSTP(para sig nal - t ERMINAL parada ) puede también ser enviado a través del ttyconductor por un usuario escribir sobre un teclado, por lo general Control- Z.
SIGSTOPNo puede ser ignorado. SIGTSTPpuede ser.
Control-Zque no se activa SIGTSTPo cree que no debería?
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 no puede ser ignorado por el proceso objetivo.
Un buen ejemplo de eso es el reproductor de video mpv, puede ignorarSIGTSTP pero no SIGSTOP.
Puede probar con un video en ejecución:
kill -SIGTSTP $(pidof mpv)
y
kill -SIGSTOP $(pidof mpv)
Por supuesto kill -SIGCONT $(pidof mpv)para seguir jugando.