nohup faz nada não gravar no arquivo

genericStackOverflowUser:

Eu tenho um programa Java que executa o script seguinte shell para reiniciá-lo auto.

sleep 5
nohup java -jar /home/my-dir/MyJar.jar &

Se eu executar o script a partir de um terminal, ele simplesmente funciona como esperado. No entanto, se o programa Java executa o script, o programa é iniciado normalmente, mas nada é escrito para o arquivo de saída.

Eu iniciar o script via o seguinte código

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();
}
Uday Chauhan:

A menos que você tiver exportado o valor de nohup no ambiente do roteiro (por exemplo, a exportação nohup = / usr / bin / nohup), em seguida $ nohup irá avaliar para a cadeia vazia - daí o seu comando

nohup não está sendo invocado em tudo. Você provavelmente quer

nohup java -jar MyJar.jar & tail -f nohup.out

Provavelmente é melhor fazer o arquivo de saída explícita:

$ nohup java -jar MyJar.jar > nohup.out & tail -f nohup.out

Acho que você gosta

Origin http://10.200.1.11:23101/article/api/json?id=410318&siteId=1
Recomendado
Clasificación