我有一个Java程序,它执行下面的shell脚本来自行重启它。
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();
}发布于 2020-08-12 02:39:15
下面的命令对我很有效。它将所有输出写入指定的文件。
nohup java -jar /home/my-dir/MyJar.jar > /home/my-dir/log.txt & tail -f /home/my-dir/log.txt &https://stackoverflow.com/questions/61034126
复制相似问题