我的目标是从屏幕上的 bash 启动一堆进程,但屏幕不应在其中运行的进程结束或因错误而停止后终止。
所以我打算做一些类似的事情:
为屏幕创建一个配置文件(screen.conf):
screen -t myscreen0 0 myscript.sh;
screen -t myscreen1 1 myscript.sh;
screen -t myscreen2 2 myscript.sh;
screen -t myscreen2 2 myscript.sh;
使用 screen -c screen.conf 启动
但是现在当脚本结束或出现错误时屏幕就会终止。
我发现 zombie 参数可以帮助我,但我不知道如何使用它(手册页中描述不详细)。或者也许有另一种方法可以解决这个问题。
答案1
您的要求“当屏幕中运行的程序结束时,屏幕不应终止”无法满足。
即使您认为您只是在运行屏幕,但如果没有程序,它仍然会运行 shell。
当其退出时,屏幕也退出。
因此,您必须使用一个不退出的程序来启动初始屏幕:)
答案2
zombie z
我通过在屏幕配置中添加类似参数来实现
zombie z
screen -t myscreen0 0 myscript.sh;
screen -t myscreen1 1 myscript.sh;
screen -t myscreen2 2 myscript.sh;
screen -t myscreen2 2 myscript.sh;