¿Puedo cambiar el nombre de `nohup.out`?


254

Cuando corro nohup some_command &, la salida va a nohup.out; man nohupdice mirar lo info nohupque a su vez dice:

Si la salida estándar es un terminal, la salida estándar del comando se agrega al archivo 'nohup.out'; si eso no se puede escribir, se agrega al archivo '$ HOME / nohup.out'; y si eso no se puede escribir, el comando no se ejecuta.

Pero si ya tengo un comando usando nohupcon salida yendo /nohup.outy quiero ejecutar otro nohupcomando, ¿puedo redirigir la salida nohup2.out?

Respuestas:


416
nohup some_command &> nohup2.out &

y voilá.


Sintaxis anterior para la versión Bash <4:

nohup some_command > nohup2.out 2>&1 &

44
@ismail, si entiendo, esto dirige la salida de stdout y nohup.out a nohup2.out. Entonces que hace 2>&1&?
David LeBauer

12
2>&1redirige stderral mismo archivo de salida stdoutque en este casonohup2.out
ismail

17
En Bash 4, las dos redirecciones se pueden abreviar como una &> nohup2.out.
efímero

1
Intenté &> nohup2.out y funciona, pero ¿cómo puedes saber tu versión bash?
monkut

99
@monkut bash --version
ismail

58

Por alguna razón, la respuesta anterior no funcionó para mí; No volví al símbolo del sistema después de ejecutarlo como esperaba con el & & final. En cambio, simplemente intenté con

nohup some_command > nohup2.out&

y funciona tal como lo quiero. Dejar esto aquí en caso de que alguien más esté en la misma situación. Ejecutando Bash 4.3.8 como referencia.


12

Como los manejadores de archivos apuntan a nodos i (que se almacenan independientemente de los nombres de archivo) en los sistemas Linux / Unix. Puede cambiar el nombre predeterminado nohup.outa cualquier otro nombre de archivo en cualquier momento después de comenzar nohup something&. Entonces también se podría hacer lo siguiente:

$ nohup something&
$ mv nohup.out nohup2.out
$ nohup something2&

Ahora somethingagrega líneas a nohup2.outy something2para nohup.out.


10

Los métodos anteriores eliminarán los datos del archivo de salida cada vez que ejecute el comando nohup anterior.

Para agregar salida en un archivo definido por el usuario , puede usar el >>comando nohup.

nohup your_command >> filename.out &

Este comando agregará todos los resultados en su archivo sin eliminar datos antiguos.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.