nohup ничего не пишет в файл

У меня есть программа 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();
}

person genericStackOverflowUser    schedule 04.04.2020    source источник
comment
Вы должны использовать абсолютный путь к банке в своем скрипте.   -  person Olivier    schedule 04.04.2020
comment
@Olivier Проблема не устранена   -  person genericStackOverflowUser    schedule 04.04.2020


Ответы (1)


Следующая команда сработала для меня. Он записывает весь вывод в указанный файл.

nohup java -jar /home/my-dir/MyJar.jar > /home/my-dir/log.txt & tail -f /home/my-dir/log.txt &
person genericStackOverflowUser    schedule 11.08.2020