Wenn ich ein Programm von Desktop (Ubuntu 16.04) anstelle von Shell starten, so dass das Programm nicht mit einem Terminal verbunden ist, was sind die Standardeingabe und die Standardausgabe für dieses Programm? Sind STDIN_FILENO
und STDOUT_FILENO
gültige Dateideskriptoren beim Programmstart? Wo schreibt printf
in diesem Fall?Was sind die Standard-Stdin und -Stdout für ein Programm gestartet von Desktop auf Linux?
3
A
Antwort
0
Sie können das Programm strace
verwenden, um alle Systemaufrufe zu sehen, die ein Programm ausführt (wie Öffnen, Lesen, Schreiben, Schließen). Wenn Sie es mit dem „Desktop-Programm“ attatch (die Ihr Programm ausgeführt wird, verwenden pstree
oder proctree
), können Sie sehen, was 0 Deskriptoren Datei geschieht, 1 und 2.
die Google für "gnome run program stdout"
Verwandte Themen
- 1. Was sind die Pakete für Linux-Bibliotheken?
- 2. Log stdout & stderr, wenn Programm in Bildschirm gestartet wird
- 3. Kann ich ein Linux-Programm so einstellen, dass es von gdb gestartet und angehängt wird?
- 4. Wie STDOUT und STDIN zu qbasic Programm
- 5. Was sind die | und^Operatoren verwendet für?
- 6. Was sind die Unterschiede zwischen MySQL gehostet auf Windows und Debian (Linux)?
- 7. Linux: printf zu fulled stdout
- 8. Was die Aufrufkonventionen für UNIX und Linux-System sind fordert i386 und x86-64
- 9. Unbuffered Subprozess stdout auf Windows
- 10. Catch stderr und stdout von externem Programm in C++
- 11. `stdin` und` stdout` handle
- 12. Was sind die Vor- und Nachteile von Perl für OOP?
- 13. Desktop-Umgebung/Architektur in Android und Linux
- 14. CreateProcess und Capture stdout
- 15. Wie kennt Elf-Loader die Adresse von stderr und stdout
- 16. C++ starte ein Skript (bash, python ...) und benutze stdin/stdout für datatransfare [linux]
- 17. Was sind die möglichen Werte für Dateideskriptoren?
- 18. Programm zum Drucken von Zahlen in stdout
- 19. Was ist die beste Datenbank für ein Java-Programm?
- 20. Zip-Datei und auf stdout
- 21. fork() und STDOUT/STDERR an die Konsole von untergeordneten Prozessen
- 22. Qt für Desktop- und Mobile-Anwendung
- 23. Was sind die relativen Vorteile von wxHaskell und Gtk2HS?
- 24. Sind Cortana-APIs für Desktop-Anwendungen verfügbar?
- 25. Embedded Linux Kernel und Desktop Linux Kernel-Unterschied
- 26. Linux- C Programm
- 27. Warum funktionieren linux pipes und stdout von exec nicht zusammen?
- 28. Was sind die Mindestanforderungen für eine LDAPS-Java-Abfrage von Linux zu 2012r2 Active Directory
- 29. Was sind die Unterschiede zwischen der C/C++ - Bare-Metal-Kompilierung und der Kompilierung für ein bestimmtes Betriebssystem (Linux)?
- 30. Was ist die schnellste IPC-Methode für ein .NET-Programm?
Warum nicht versuchen? In Windows wird ein Konsolenfenster geöffnet, wenn 'stdout' verwendet wird, das beim Beenden geschlossen wird. Wenn am Ende des Programms keine Aufforderung oder Pause angezeigt wird, kann dies so schnell geschehen, dass Sie das Fenster nicht sehen, bevor der Bildschirm aktualisiert wird. –
@WeatherVane Ich habe versucht, ein Hello World-Programm in C mit Gcc auf Ubuntu zu kompilieren. Dann habe ich auf dem Desktop auf die ausführbare Datei doppelgeklickt, und nichts passierte (kein Terminal erscheint). Ich kann immer noch nicht herausfinden, wie Standard und Standard für dieses Programm eingestellt sind, als ich es auf diese Weise gestartet habe. –
Hast du am Ende des Programms eine Pause gemacht, wie ich es vorgeschlagen habe? –