Me di cuenta de que tenemos principalmente 3 secuencias de archivos. Son STDIN, STDOUT y STDERR. Mi pregunta es ¿por qué se redirige STDERR a STDOUT?¿Por qué se redirige STDERR a STDOUT?
Respuesta
stderr
no se redirige a stdout
. Ambas transmisiones solo están conectadas al mismo dispositivo (la pantalla o terminal actual) de manera predeterminada.
Puede redirigirlos a diferentes archivos:
$ command > stdout.log 2> stderr.log
Con el fin de redirigir realidad stderr
a stdout
, que tiene que emitir:
$ command 2>&1
Como stdout
, stderr
se dirige sobre todo a la salida dispositivo de la consola estándar (generalmente, la pantalla). Eso significa que stderr
no se redirige a stdout
pero comparten un descriptor de archivo común. Es posible redirigir stderr
a algún otro destino desde un programa utilizando la función freopen.
No lo es; simplemente ocurre que tanto stdout como stderr suelen asignarse al mismo flujo de salida (generalmente la consola). Si redirige el stdout a un archivo, por ejemplo, encontrará que stderr permanece dirigido a la consola.
Lo importante es que se pueden redireccionar de forma independiente.
- 1. Guardar stdout, stderr y stdout + stderr sincrónicamente
- 2. Duplicar stdout a stderr
- 3. redirigir subproceso stderr a stdout
- 4. ¿Por qué la salida STDERR de Ruby aparece antes de la salida STDOUT anterior cuando se redirige?
- 5. Sobre stdout/stderr redirecciones
- 6. ¿Por qué la salida de Logger a STDOUT no se redirige a los archivos?
- 7. cómo controlar popen stdin, stdout, stderr redirection?
- 8. LLVM stdin/stdout/stderr
- 9. Bat redireccionando stderr a stdout tiene un comportamiento extraño
- 10. Cómo redireccionar stdout, stderr a/dev/tty
- 11. Enviar JNI C stderr/stdout a log4j
- 12. Redirigir bash stdout/stderr a dos lugares?
- 13. ¿Debo emitir advertencias a STDERR o STDOUT?
- 14. Redirigir stdout y stderr a la función
- 15. Tubería popen stderr y stdout
- 16. Controlando stdout/stderr desde Jython
- 17. Redireccionando stdout/stderr a varios archivos
- 18. vim filters y stdout/stderr
- 19. Capturando stdout/stderr con NDK
- 20. compilador de linux g ++ redirige stderr y stdout crea el archivo vacío
- 21. paramiko combinar stdout y stderr
- 22. ¿Por qué IO :: WaitReadable se plantea de forma diferente para STDOUT que STDERR?
- 23. Cómo redirigir el proceso hijo stdout/stderr al proceso principal stdout/stderr en Java?
- 24. 'app --help' debería ir a stdout o stderr?
- 25. Cómo capturar stdout/stderr con googletest?
- 26. Determinar si se redirige stdout para un proceso de Python
- 27. ¿Debo registrar mensajes en stderr o stdout?
- 28. Redireccionando STDIN, STDOUT, STDERR a/dev/null en C
- 29. Redirige asincrónicamente stdout/stdin de python incrustado a C++?
- 30. Cómo redirigir STDOUT y STDERR a una variable
Bueno, técnicamente ni siquiera comparten un descriptor de archivo: 'stdout' es' fd 1' y 'stderr' es' fd 2'. –
Fd de stdout es 1 y fd os stderr es 2, ¿cómo pueden compartir fd? – user559208
@ user559208, no es así. Cada uno tiene su propio descriptor de archivo. –