使用 shell 文件在屏幕内启动服务器

使用 shell 文件在屏幕内启动服务器

我有一个通过 ssh 启动的 Minecraft 服务器。我使用 screen,所以它一直在运行

Spigot 允许您设置启动脚本,以便如果服务器停止,它可以自动重新启动。

我目前有以下用于 spigot 启动命令的代码(它位于 spigot 运行的 shell 文件内)

#!/bin/sh
screen -s minecraft -x ~/path/to/server/start.sh

然后在我的start.sh文件中我有以下内容

#!/bin/sh
java -Xmx1500m -jar server.jar -nogui

在我开始重启之前,我会 ssh 进入计算机,启动屏幕,然后运行文件start.sh。但现在我需要一个可以启动屏幕并运行文件start.sh的文件

我该怎么做呢?

答案1

-X            Execute <cmd> as a screen command in the specified session.
-x            Attach to a not detached screen. (Multi display mode).

我当时看到-X旗帜就犯了两个错误,第一个错误是使用小写字母x而不是大写字母X

第二个是你不需要标志-X,你可以直接使用

screen -s minecraft ~/path/to/the/start.sh

并将命令或文件作为参数而不带标志

相关内容