У меня есть программа Java, которая выполняет следующий сценарий оболочки, чтобы перезапустить себя.
sleep 5
nohup java -jar /home/my-dir/MyJar.jar &
Если я запускаю скрипт из терминала, он работает так, как ожидалось. Однако, если программа Java выполняет сценарий, программа запускается нормально, но в выходной файл ничего не записывается.
Я запускаю скрипт с помощью следующего кода
ProcessBuilder processBuilder = new ProcessBuilder();
processBuilder.command("/bin/sh", "/home/my-dir/start.sh");
try {
processBuilder.start();
logger.info("Successfully started");
} catch (IOException e) {
e.printStackTrace();
}