举个例子,假设我想运行 3 个项目,每个项目有 2 个脚本。
选项 1:在 GNU Screen 中创建 3 个会话,并在每个会话下打开 2 个窗口来运行脚本。
选项 2:创建 6 个会话并在每个会话中运行每个脚本。
每种选择的优点和缺点是什么?
我的直觉是选项 2,就好像一个会话失败了一样,至少整个项目不会像选项 1 那样失败。
答案1
仅使用一个屏幕和其中的多个窗口的好处是,可以更轻松地在窗口之间切换,并且实际上可以查看铃声警报并监视其他窗口的(中)活动。
使用多个屏幕会话需要在它们之间进行更尴尬的处理。
如果您担心屏幕崩溃,并且并不真正需要它提供的功能,您还可以安排脚本在没有屏幕的情况下在后台运行。要么使用类似的东西nohup
,要么直接从你的初始化/服务管理器启动。
有趣的是,在我使用它的十多年里,我真的不记得屏幕崩溃过。它确实有一种故障模式,如果会话断开连接,屏幕内运行的命令可能会有效地卡住(或至少无法打印)。这可以通过设置来nonblock 1
解决screenrc
。