我想在重启后运行两个屏幕,每个屏幕中都有程序。
这是我的剧本:
#!/bin/sh
echo Killing all existing screens...
screen -X -S launcher quit
sleep 2
screen -X -S server quit
echo Loading launcher screen...
screen -S launcher -d -m bash -c "/home/test/Launcher.exe"
sleep 2
echo Loading server screen...
screen -S server -d -m bash -c "/home/test/server/server/Server.exe"
echo All done.
只有第一个启动并运行正常。我已经尝试过拆分它们,但是仍然没有运气。 我有Ubuntu Server 15.10 64位/ Linux 4.2.0-42-通用)
答案 0 :(得分:1)
解决了首次启动后在屏幕上启动应用程序的问题:
screen -dmS launcher
screen -S launcher -X screen "/home/test/Launcher.exe"
screen -dmS server
screen -S server -X screen "/home/test/server/server/Server.exe"
答案 1 :(得分:1)
您还可以探索为屏幕编写.rc脚本的选项。这个想法是,所有由屏幕多次调用运行的命令,都捆绑到一个“屏幕脚本”文件中,并使用-c启动,例如:
$ cat screen.rc
startup_message off
screen -t "Pilot" ./pilot_tunel.sh
split
focus
screen -t "AT TB1" ./at_tb1_tunnel.sh
focus
然后启动它:
$ screen -c screen.rc
我以某种方式发现它更干净。
也可以通过屏幕的“ split”命令在同一屏幕上看到两个脚本的输出:
我发现它也很有用。
我希望它会有所帮助, Jarek
PS:显然,我给出的示例未映射您的命令。只是功能概述。