屏幕-dmS从命令行工作,但不是从Java(插口重新启动脚本)

屏幕-dmS从命令行工作,但不是从Java(插口重新启动脚本),java,shell,minecraft,gnu-screen,Java,Shell,Minecraft,Gnu Screen,我最近更换了我的专用服务器,从那时起,我用来重新启动我的minecraft服务器的脚本就不再工作了。 我可以使用sh start.sh调用脚本,然后我的服务器启动,但是当我使用游戏中的/restart命令或指示服务器从我的插件重新启动时,服务器关闭并且从不重新启动 下面是我的start.sh的内容 screen-dmS mc_hub1 java-jar-Xmx2048M-direallyknowwhatiamdoingswear服务器.jar 除非我从命令行运行脚本,否则不会发生任何事情,甚至不

我最近更换了我的专用服务器,从那时起,我用来重新启动我的minecraft服务器的脚本就不再工作了。 我可以使用
sh start.sh
调用脚本,然后我的服务器启动,但是当我使用游戏中的/restart命令或指示服务器从我的插件重新启动时,服务器关闭并且从不重新启动

下面是我的start.sh的内容

screen-dmS mc_hub1 java-jar-Xmx2048M-direallyknowwhatiamdoingswear服务器.jar

除非我从命令行运行脚本,否则不会发生任何事情,甚至不会创建屏幕

这个问题似乎起源于
screen-dmS mc_hub1
,因为如果我删除它,重启指令就会工作,实际上我感觉我无法使用任何与Java屏幕相关的东西,但它曾经工作过,所以我有点不知所措

所有操作都在专用服务器上运行Debian 9.9,屏幕4.05.00,新服务器运行Debian 9.11和屏幕4.05.00

  • 我尝试添加-L选项以启用日志记录,但它甚至没有创建文件
  • 文件夹中的所有内容都具有读取和执行权限
  • 我尝试使用
    java.lang.ProcessBuilder
    从插件调用脚本,没有异常,但仍然没有结果
ProcessBuilder pb=newprocessbuilder(“start.sh”);
pb.directory(新文件(“/home/minecraft/uhc/”);
pb.start();
  • Java版本似乎没有引起问题(我用最新版本和我第一台专用服务器上的旧版本进行了测试)

任何帮助都会被感谢,谢谢

你会考虑使用你的OS厂商的过程监督机制而不是用“代码>屏幕screen被设计成一个假的/虚拟的“终端”,可以从中分离、重新连接等。当您作为JVM的子进程运行时,通常一开始根本没有终端。并不是说它在这种情况下仍然无法工作,但它仍然在其设计目标之外投入使用。