¿A dónde se dirige el STDOUT de un programa rechazado?

11

Como seguimiento de esta pregunta , me gustaría saber a dónde se redirige el STDOUT y STDERR de un programa en el que he ejecutado disown -h.

Thrawn
fuente

Respuestas:

10

disownno cambia los programas STDOUT / ERR. Todavía irán a donde sea que los haya redirigido (usando >etc.). Si no los redirigió, continuarán yendo a la terminal desde la que inició el programa (hasta que cierre esa terminal, en cuyo caso se descartarán).

Para ilustrar, ejecute esto en una terminal:

bash -c 'while true; do sleep 1; echo hi; done' &

Esto imprimirá "hola" cada segundo (y te molestará terriblemente ;-)). Si disownel programa después del inicio, los "hola" continuarán. Debe encontrar el PID del shell (usando, por ejemplo, ps) y matarlo para que se detenga.

Editar:

Según los comentarios, tal vez lo que realmente desea hacer es recuperar la salida del programa después de disowneditarlo y cerrar el terminal en el que se estaba ejecutando. Esto se explica en esta pregunta: Nohup remoto después del hecho con tcsh ( gracias al quijote quack).

sleske
fuente
Según su pregunta anterior, el hecho es que cerró esta terminal anterior. ¿Cómo puede obtener el resultado, entonces?
Gnoupi
@Gnoupi: No creo que haya alguna forma de recuperar la salida. Al menos nunca he oído hablar de ninguna manera.
sleske
Gracias por el comentario Gnoupi :-) De hecho, el resultado no se encuentra en ninguna parte. Aunque seguiré buscando :-)
Thrawn
1
esta es realmente la respuesta: disown no cambia nada; debe configurar cualquier captura o redirección cuando comience el proceso . si lo necesita después, gdb es su (único) amigo: superuser.com/questions/50058/…
quack quixote
@quack: diría que la pregunta necesita una refactorización, entonces, para enfatizar el caso de uso real, en lugar de solo la herramienta. En la forma actual (centrada en renegar), esta es de hecho la respuesta correcta. Pero desde el contexto, con la pregunta anterior, el usuario simplemente quiere recuperar la salida, y en este caso su enlace es la respuesta.
Gnoupi