注意:script
指的是script
命令,它将 stdin 和 stdout 记录到文件中。
我试图使用该 script
实用程序运行一个脚本来保存输出以供以后检查,同时保留终端上的文本颜色。
- Ctrl当我尝试使用+ Z( )暂停当前脚本时
SIGTSTP
,控制台会打印^Z
并且脚本不会停止。 - 然后我尝试了Ctrl+S
(。当前运行的脚本确实冻结(SIGSTOP
)htop
将所有进程显示为Z
模式),但它不会释放终端。 Ctrl+Q确实恢复它们。
我现在很困惑为什么
Ctrl+S有效,但SIGSTOP
SIGTSTP
( Ctrl+ Z) 无效。
我知道可能会被困住,但我看不出有任何理由这样做,并且的手册页SIGTSTP
中也没有任何相关内容。script
我尝试强制脚本解释器进入交互模式,但结果让我更加困惑。发出Ctrl+ Z( SIGTSTP
) 确实会挂起正在运行的脚本,但script
表示脚本已完成然后退出,这会杀死所有挂起的子进程。
在这种情况下有没有办法让正常挂起?另外,有人能准确解释一下发生了什么吗?