SIGSTOP和SIGTSTP有什么区别?

use*_*715 94 unix signals signal-handling

而已.只是想知道SIGSTOP和SIGTSTP之间的区别.

jll*_*gre 137

这两个信号都被设计为暂停一个最终将恢复的进程SIGCONT.它们之间的主要区别是:

  • SIGSTOP是编程方式发送的信号(例如:kill -STOP pid),而SIGTSTP(对于SIG NAL - 端子停止),也可以通过发送tty驱动器由用户在键盘上打字,通常是Control- Z.

  • SIGSTOP不容忽视.SIGTSTP可能.

  • Factoid:如果您是一名Linux程序员,那么当您使用Ctrl-Z中断shell中运行的进程而不杀死它时,SIGTSTP就是您所获得的.这通常会导致shell将其放在挂起的作业列表中. (7认同)

Roy*_*hao 34

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

#define SIGSTOP     19  /* Stop, unblockable (POSIX).  */
#define SIGTSTP     20  /* Keyboard stop (POSIX).  */
Run Code Online (Sandbox Code Playgroud)

  • 在Solaris 10上,信号在头文件`/ usr/include/sys/iso/signal_iso.h`中定义 (4认同)
  • 在 FreeBSD 11 中,它位于`/usr/include/sys/signal.h` (2认同)