而已。 正纳闷SIGSTOP和SIGTSTP之间的差异。
Answer 1:
这两个信号被设计进程暂停其将与最终恢复SIGCONT
。 它们之间的主要区别是:
SIGSTOP
是编程方式发送的信号(例如:kill -STOP pid
),而SIGTSTP
(对于SIG NAL - 端子站 ),也可以通过发送tty
驱动器由用户在键盘上打字,通常是Control - z。SIGSTOP
不能被忽略。SIGTSTP
可能。
Answer 2:
/usr/include/x86_64-linux-gnu/bits/signum.h
#define SIGSTOP 19 /* Stop, unblockable (POSIX). */
#define SIGTSTP 20 /* Keyboard stop (POSIX). */
Answer 3:
SIGSTOP不能被作为目标的过程中被忽略。
这方面的一个很好的例子是视频播放器mpv
,它也可以忽略SIGTSTP
但不是SIGSTOP
。
您可以用视频运行测试:
kill -SIGTSTP $(pidof mpv)
和kill -SIGSTOP $(pidof mpv)
当然kill -SIGCONT $(pidof mpv)
继续播放。
文章来源: What's the difference between SIGSTOP and SIGTSTP?