Debian 服务器 - 在一个屏幕会话中自动启动两台服务器

Debian 服务器 - 在一个屏幕会话中自动启动两台服务器

我想在我的小型虚拟服务器上运行私有 Minecraft 和 Teamspeak 服务器。当我全部手动启动时,它工作得很好,但我希望我的服务器在服务器启动时自动启动。

当我运行两台服务器时,我使用 screen 来获取多个窗口。但我不知道如何启动具有两个窗口的屏幕会话,并使用在启动时运行的单个脚本在每个窗口中执行一个服务器。

是否有可能启动一个分离的屏幕会话,向其发送要执行的命令,在该会话中打开一个新窗口并向其发送另一个命令?

我想到了这样的事情:

screen -dmS test -t win1              # create new screen session, name it test 
                                      #    and name the first window win1
screen -S test -X mcStart.sh          # start the minecraft server
screen -S test -X screen -t win2      # create a new window, name it win2
screen -S test -X tsStart.sh          # start teamspeak server

在我看来,这听起来不错,但它根本不起作用......我得到的只是一个带有两个空窗口的屏幕会话,名为“win1”和“win2”。

请告诉我我必须做什么才能让这件事发挥作用。

顺便说一句:如果可能的话,我不想在单个屏幕会话中运行每个服务器。

答案1

-X不起作用的原因是因为它是screen您正在执行的命令 - 为了让它运行mcStart.sh并且tsStart.sh,您应该使用:

screen -dmS test -t win1 mcStart.sh
screen -rS test -X screen -t win2 tsStart.sh

相关内容