我有一个游戏,我将启用自动重启功能。它将每24小时发生一次,这很容易实现。但问题是,我不知道如何打开运行“run.sh”(执行Java游戏服务器)。
代码将首先关闭所有内容,并且在调用System.exit之前,它应该在新终端中打开run.sh。我该怎么做?
这是我目前使用的方法,但它给了我这个错误。
public static boolean start() {
try {
List<String> command = new ArrayList<String>();
command.add("cd /root/Dropbox/[SALLESY] 742 Server");
command.add("java -Xmx1024m -Xss2m -Dsun.java2d.noddraw=true -XX:+DisableExplicitGC -XX:+AggressiveOpts -XX:+UseAdaptiveGCBoundary -XX:MaxGCPauseMillis=500 -XX:SurvivorRatio=16 -XX:+UseParallelGC -classpath bin:data/libs/* com.sallesy.Application");
ProcessBuilder builder = new ProcessBuilder(command);
Process proc = builder.start();
BufferedReader read = new BufferedReader(new InputStreamReader(
proc.getInputStream()));
try {
proc.waitFor();
} catch (InterruptedException e) {
System.out.println(e.getMessage());
}
while (read.ready()) {
System.out.println(read.readLine());
}
} catch (Exception e) {
System.out.println(e.getMessage());
return false;
}
return true;
}
错误:
sh script.sh
Cannot run program "cd /root/Dropbox/[SALLESY] 742 Server": error=2, No such file or directory
Could not start a new session...
答案 0 :(得分:0)
尝试转义字符串:
"cd /root/Dropbox/\[SALLESY\]\ 742\ Server"
答案 1 :(得分:-1)
漂亮的游戏m8你做到了吗?
也在这里:^)
"cd /root/Dropbox/\[SALLESY\]\ 742\ Server"