Я пытался запустить свою Java-программу на ночь, но мне нужно иногда перезапускать ее, чтобы сохранить прогресс и полностью перезагрузить компьютер. Через несколько часов я сохраняю ход выполнения программы и запускаю небольшой файл перезапуска, чтобы перезапустить программу.
void restartServer() {
try {
Runtime rt = Runtime.getRuntime();
rt.exec("./restart.bat");
} catch (java.io.IOException err) {
logError(err.getMessage());
}
}
Внутри restart.bat у меня есть:
echo Restarting Server
killall -9 java
sleep 2;
nohup java -Xmx200m -classpath bin server.Main;
Однако это не работает. Там написано:
[root@linode java]# ./restart.bat
Restarting Server
: no process killed
: command not found 3:
nohup: appending output to `nohup.out'
: command not found 4:
[root@linode java]#
Почему говорится, что ни один процесс не завершен, когда запущен Java-процесс? И почему он говорит, что команда не найдена? Она никогда не перезапускает программу.