为什么在分离模式下运行时 Ctrl-C 会终止屏幕?

为什么在分离模式下运行时 Ctrl-C 会终止屏幕?

如果我Ctrl-C在屏幕中使用,我以“正常方式”使用screen -S screen_name,它的行为将按预期运行,这意味着它将中断屏幕正在运行的任何命令但不会终止屏幕本身

但是,当我运行 screen 时分离的模式使用screen -dmS screen_name command,它工作正常,但当我重新连接屏幕时,Ctrl-C终止屏幕本身

我怎样才能防止Ctrl-C终止屏幕?

答案1

当正在运行的命令完成时,Screen 退出。

在第一个示例中,您没有指定命令,因此将启动默认 shell。

在第二个示例中,您未指定 shell,因此您的命令将直接运行。当该命令收到 时Ctrl-C,它将退出,因此屏幕将关闭。

根据您想要实现的目标,您可以使用zombiedefzombieonerror选项来屏幕,使窗口在命令退出后仍然存在。

或者,答案包含在初始脚本终止后保持 bash shell 打开的建议。

相关内容