nohup no hace nada escribir en el archivo

genericStackOverflowUser:

tengo un programa en Java que ejecuta la secuencia de comandos shell siguiente para reiniciar si mismo.

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

Si corro el guión desde un terminal, simplemente funciona como se esperaba. Sin embargo, si el programa Java se ejecuta la secuencia de comandos, el programa se inicia con normalidad, pero nada se escribe en el archivo de salida.

Comienzo a la secuencia de comandos a través del siguiente 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 haya exportado el valor de nohup en el entorno de la secuencia de comandos (por ejemplo, exportación nohup = / usr / bin / nohup) y luego $ nohup será evaluado a una cadena vacía - de ahí su comando

nohup no está siendo invocado en absoluto. Es posible que desee

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

Probablemente es mejor para hacer que el archivo de salida explícita:

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

Supongo que te gusta

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