Me gustaría redirigir la salida generada desde una aplicación en segundo plano en Linux a / dev / null.
Estoy usando el editor de texto kate e imprime todos los mensajes de depuración en la terminal que me gustaría redirigir a / dev / null.
¿Alguna idea de cómo hacerlo?
Gracias
Respuestas:
Tu usas:
Si debe ejecutarse en segundo plano, agregue un
&
>/dev/null 2>&1
significa redirigirstdout
a/dev/null
Ystderr
al lugar dondestdout
apunta en ese momentoSi quieres
stderr
que ocurra en la consola y solostdout
vas a/dev/null
puedes usar:En este caso
stderr
se redirige astdout
(por ejemplo, su consola) y luego el originalstdout
se redirige a/dev/null
Si el programa no termina, puede usar:
Sin ningún parámetro, toda la salida aterriza en nohup.out
fuente
dup2()
ocurre inmediatamente despuésfork()
pero antesexec*()
. Una vez queexec*()
ha ejecutado el programa, el shell no tiene la capacidad de redirigir la salida de ese proceso. Corrígeme si me equivoco, pero no conozco un shell que haya implementado dicha funcionalidad.Estos también redirigirán a ambos:
aunque el manual de bash dice que se prefiere el primero.
fuente