SIGSTOP和SIGTSTP有什么区别?

时间:2012-08-09 15:31:31

标签: unix signals signal-handling

就是这样。只是想知道SIGSTOP和SIGTSTP之间的区别。

3 个答案:

答案 0 :(得分:128)

这两个信号都旨在暂停一个最终将使用SIGCONT恢复的进程。它们之间的主要区别是:

  • SIGSTOP是以编程方式发送的信号(例如:kill -STOP pidSIGTSTP sig tty驱动程序发送> nal - t 发送停止 ),通常是 Control - ž

  • SIGSTOP不容忽视。 SIGTSTP可能是。

答案 1 :(得分:32)

/usr/include/x86_64-linux-gnu/bits/signum.h

#define SIGSTOP     19  /* Stop, unblockable (POSIX).  */
#define SIGTSTP     20  /* Keyboard stop (POSIX).  */

答案 2 :(得分:0)

目标进程不能忽略SIGSTOP。

视频播放器mpv是一个很好的例子,它可以忽略SIGTSTP,但不能忽略SIGSTOP

您可以通过运行的视频进行测试:

kill -SIGTSTP $(pidof mpv)kill -SIGSTOP $(pidof mpv)

当然kill -SIGCONT $(pidof mpv)才能继续播放。