Ho notato che abbiamo principalmente 3 flussi di file. Sono STDIN, STDOUT e STDERR .. La mia domanda è: perché STDERR è stato reindirizzato su STDOUT?Perché STDERR viene reindirizzato a STDOUT
risposta
stderr
non viene reindirizzato a stdout
. Entrambi i flussi sono solo collegati allo stesso dispositivo (la schermata o il terminale corrente) per impostazione predefinita.
È possibile reindirizzare al file diversi:
$ command > stdout.log 2> stderr.log
Al fine di reindirizzare in realtà stderr
a stdout
, si deve lanciare:
$ command 2>&1
Come stdout
, stderr
si dirige soprattutto l'uscita dispositivo della console standard (generalmente, lo schermo). Ciò significa che stderr
non viene reindirizzato a stdout
ma condividono un descrittore di file comune. È possibile reindirizzare stderr
in un'altra destinazione all'interno di un programma utilizzando la funzione freopen.
Non lo è; succede solo che sia stdout che stderr sono tipicamente mappati allo stesso flusso di output (solitamente la console). Ad esempio, se reindirizzate lo stdout a un file, troverete che lo stderr rimane indirizzato alla console.
Il punto importante è che sono ridimensionabili in modo indipendente.
- 1. LLVM stdin/stdout/stderr
- 2. Scrive sul terminale dopo aver reindirizzato lo stdout in un file senza utilizzare stderr?
- 3. Apache Spark Stderr e Stdout
- 4. paramiko combina stdout e stderr
- 5. filtri vim e stdout/stderr
- 6. Perché l'output di Logger su STDOUT non viene reindirizzato ai file?
- 7. Duplicare lo stdout allo stderr
- 8. Piping popen stderr e stdout
- 9. Devo emettere avvisi su STDERR o STDOUT?
- 10. Come reindirizzare stdout, stderr indietro su/dev/tty
- 11. Come acquisire stdout/stderr con googletest?
- 12. Perché java.util.logging.Logger stampa su stderr?
- 13. Elimina stampa stdout/stderr dalle funzioni Python
- 14. Come reindirizzare il processo figlio stdout/stderr nel processo principale stdout/stderr in Java?
- 15. Leggere STDOUT e STDERR dal sottoprocesso continuamente
- 16. Reindirizzamento stdout/stderr su più file
- 17. Qual è la differenza tra errore, stderr, stdout nel nodo
- 18. 'app --help' dovrebbe andare a stdout o stderr?
- 19. Come reindirizzare STDOUT e STDERR a una variabile
- 20. Haskell: System.Process unire stdout e stderr
- 21. Invia JNI C stderr/stdout tramite log4j
- 22. Acquisizione di stdout/stderr con NDK
- 23. Controllare se l'output viene reindirizzato
- 24. Perché il reindirizzamento di stderr/stderr su Android non funziona?
- 25. forzare un programma per svuotare l'output standard quando viene reindirizzato
- 26. Quando utilizzare $ stderr vs STDERR in Ruby?
- 27. Reindirizzamento stdout + stderr su un servizio Windows C#
- 28. Utilizzo di stdout/stderr/stdin streams dietro l'FFI di haskell
- 29. È sicuro disabilitare il buffering con stdout e stderr?
- 30. Quando si utilizza subprocess.Popen(), stderr e stdout non hanno output
Bene, tecnicamente non condividono nemmeno un descrittore di file: 'stdout' è' fd 1' e 'stderr' è' fd 2'. –
Fd di stdout è 1 e fd os stderr è 2 allora come possono condividere fd? – user559208
@ user559208, non lo fanno. Ognuno ha il proprio descrittore di file. –