Mit Blick auf the API sieht es nicht wie Interleaving (Umleitung von stdout zu stderr in Echtzeit oder umgekehrt) wird unterstützt. Wie würde ich es bei Bedarf tun?Wie verschachteln stderr und stdin zu einem std :: process :: Command?
Antwort
Was ist die Quelle der Verwirrung? Sie können ein Stdio
Objekt mit FromRawFd::from_raw_fd
erstellen und ihm einen Dateideskriptor zuweisen, der als Stdio
das Merkmal verwendet.
Diese Antwort funktioniert nur unter UNIX -ähnliche Systeme und ist nicht plattformübergreifend Beachten Sie das ** unix ** im Typnamen: 'std :: os :: unix :: io :: FromRawFd'. – Shepmaster
Es wäre auch gut, ein ** complete zu zeigen ** Beispiel, wo stderr und stdout verschachtelt sind – Shepmaster
Ich sehe nichts aggressives über "was ist die Quelle der Verwirrung". Ich habe nur ehrlich gefragt. Und ja, diese Lösung ist nur unix. Vielleicht könnte man eine Kiste schreiben, die abstrahiert Dies ist weg für andere Plattformen –
- 1. LLVM stdin/stdout/stderr
- 2. Vagrant scheitert mit stdin, Start, ssh, stderr & stdout Fehler
- 3. Umleiten von STDIN, STDOUT, STDERR nach/dev/null in C
- 4. Wie steuert man Popen Stdin, Stdout, Stderr Umleitung?
- 5. ksh: wie stdin zu testen?
- 6. Rohrleitungen stderr zu einem Puffer
- 7. Wie reproduziere ich `stdin = sys.stdin` mit` stdin = PIPE`?
- 8. Redirect stdout und stderr zu Funktion
- 9. Wie starte ich einen Prozess korrekt und übergebe stdin/stdout/stderr?
- 10. Ist stdin, stdout, stderr gepuffert oder ungepuffert in Lua?
- 11. ruby popen3 - Wie wiederhole ich auf stdin & lese stdout ohne re-opening process?
- 12. Verwenden von stdout/stderr/stdin Streams hinter haskells FFI
- 13. read.table Funktion und stdin
- 14. stdout und stdin Beziehungen
- 15. umleiten stderr zu einem Puffer in c
- 16. Piping popen stderr und stdout
- 17. Nginx Protokoll zu stderr
- 18. Was ist der Unterschied zwischen STDIN und $ stdin in Ruby?
- 19. Wie stdin und eine Zeichenfolge verketten?
- 20. Nodejs Child Process: schreibe von einem bereits initialisierten Prozess in stdin
- 21. Msys: wie STDERR auf dem Bildschirm und gleichzeitig kopieren sowohl STDOUT und STDERR, um Dateien zu halten
- 22. Apache Spark Stderr und Stdout
- 23. Wie stdout Stderr in einem Ant-Skript umleiten?
- 24. Redirect STDOUT und STDERR zu Datei "> &"
- 25. Wie git Repositories verschachteln; fetch und merge
- 26. Wie stdin zu Java Runtime.exec umleiten?
- 27. Befehl, Command und CommandInvoker
- 28. Wie stderr unter Windows/DOS zu erfassen?
- 29. Dupliziere stdout zu stderr
- 30. Speichern Sie stdout, stderr und stdout + stderr synchron
Wenn Sie unter Unix sind, denke ich, dass Sie 'to_raw_fd()' verwenden können, um den gewünschten Dateideskriptor zu erhalten, und 'from_raw_fd()', um '' Stdio' für 'Command' zu erstellen. –
Sah aus, wie das funktionieren würde, und fand mich in einem Labyrinth – Tshepang
Schauen Sie genauer hin, ich stimme zu, ich glaube nicht, dass es direkt unterstützt wird. Ein Brute-Force-Weg wäre es, die Shell zu verwenden (dh die Installation von spawing 'my_prog foo', spawn' sh -c 'my_prog foo 2> & 1'', mit etwas Sorgfalt für die erforderlichen Zitate. –