Java - 在Centos中执行.sh文件

时间:2017-05-01 23:52:56

标签: java centos sh

我已经把头发弄了好几个小时关于这个问题,但我似乎无法让这些启动脚本工作。启动脚本应该做的是启动附带屏幕的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以守护进程模式启动它,这样就可以了。

2 个答案:

答案 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是脚本,而不是进程。