我已经把头发弄了好几个小时关于这个问题,但我似乎无法让这些启动脚本工作。启动脚本应该做的是启动附带屏幕的Java服务器,但出于某种原因它不会启动。
它不会在Java中抛出任何错误,因此它可以正确地找到文件。
代码:
ProcessBuilder pb = new ProcessBuilder("/home/Network/" + name + "/" + name.toLowerCase() + ".sh");
pb.start();
SH脚本:
screen -S ServerID java -jar -Xms1536M -Xmx1536M server.jar
编辑:解决了我的问题。对于任何好奇和做类似事情的人,你应该使用screen -dmS以守护进程模式启动它,这样就可以了。
答案 0 :(得分:1)
为了解决我的问题,我在SH脚本中使用了-dmS而不是-S,因为它将它作为守护进程启动。
screen -S ServerID java -jar -Xms1536M -Xmx1536M server.jar
答案 1 :(得分:0)
尝试
ProcessBuilder pb = new ProcessBuilder("/home/Network/" + name + "/" + name.toLowerCase() + ".sh run");
或"开始"或者你的脚本接受的任何命令。
.sh是脚本,而不是进程。