bash - log - ¿Puedo cambiar el nombre de `nohup.out`?
nohup to log (4)
Como los manejadores de archivos apuntan a i-nodos (que se almacenan independientemente de los nombres de los archivos) en sistemas Linux / Unix, puede cambiar el nombre del nohup.out
predeterminado a cualquier otro nombre de archivo en cualquier momento después de comenzar con nohup something&
Así también se podría hacer lo siguiente:
$ nohup something&
$ mv nohup.out nohup2.out
$ nohup something2&
Ahora something
agrega líneas a nohup2.out
y something2
a nohup.out
.
Cuando ejecuto nohup some_command &
, la salida va a nohup.out
; man nohup
dice que mire info nohup
que a su vez dice:
Si la salida estándar es una terminal, la salida estándar del comando se agrega al archivo ''nohup.out''; si eso no se puede escribir, se adjunta al archivo ''$ HOME / nohup.out''; y si eso no se puede escribir, el comando no se ejecuta.
Pero si ya tengo un comando que utiliza nohup
y la salida va a /nohup.out
y quiero ejecutar otro comando, nohup
, ¿puedo redirigir la salida a nohup2.out
?
Los métodos anteriores eliminarán los datos del archivo de salida cada vez que ejecute el comando nohup.
Para anexar la salida en un archivo definido por el usuario puede usar >>
en el comando nohup.
nohup your_command >> filename.out &
Este comando agregará toda la salida en su archivo sin eliminar los datos antiguos.
Por alguna razón, la respuesta anterior no funcionó para mí; No volví a la línea de comandos después de ejecutarlo como esperaba con el final y &. En su lugar, simplemente lo intenté con
nohup some_command > nohup2.out&
y funciona tal como lo quiero. Dejando esto aquí en caso de que alguien más esté en la misma situación. Running Bash 4.3.8 para referencia.
nohup some_command &> nohup2.out&
y voilá.
Sintaxis anterior para la versión Bash <4:
nohup some_command > nohup2.out 2>&1&