Stefan Majewsky Asked: 2017-12-11 11:04:14 +0800 CST2017-12-11 11:04:14 +0800 CST 2017-12-11 11:04:14 +0800 CST 为什么已经存在 SIGSTOP 时存在 SIGTSTP? 772 我一直认为Ctrl-Z在终端中(在规范模式下)会生成SIGSTOP,但根据man 3 tcsetattr,它会生成SIGTSTP。但是,在这两种情况下,SIGCONT都用于恢复已停止的进程。 Ctrl-Z不只是生成的原因是什么SIGSTOP?在某些情况下,程序的处理SIGTSTP方式不同于SIGSTOP? terminal signals 1 个回答 Voted Best Answer Stephen Kitt 2017-12-11T11:12:48+08:002017-12-11T11:12:48+08:00 与 KILL 一样,STOP 不能被捕获、阻止或忽略:它总是停止接收进程。另一方面,可以忽略或以不同的方式处理 TSTP;例如,shell 和 Emacs 设置 TSTP 处理程序来处理CtrlZ自己。shell 中的这种行为可确保按下CtrlZ始终是安全的,并且不会让您卡在进程已停止且无法恢复的终端中。
与 KILL 一样,STOP 不能被捕获、阻止或忽略:它总是停止接收进程。另一方面,可以忽略或以不同的方式处理 TSTP;例如,shell 和 Emacs 设置 TSTP 处理程序来处理CtrlZ自己。shell 中的这种行为可确保按下CtrlZ始终是安全的,并且不会让您卡在进程已停止且无法恢复的终端中。