stderr wiederholen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
chabayo
Beiträge: 930
Registriert: 17.08.2005 07:44:33
Lizenz eigener Beiträge: Artistic Lizenz

stderr wiederholen

Beitrag von chabayo » 13.02.2012 23:42:39

Wenn ich ein Programm starte habe an einer Konsole 3 FD's, stin,stdout,stderr.

Wenn ich das Programm von der Shell loese, in den Hintergrund setze, was passiert mit den 3 FD's, welche vermutlich fuer die Kommunikation mit dem Shellprozess mit pipes verbunden waren...

Kann ich das mit gdb attach PID wieder so hinkriegen das ich stderr zu sehen bekomme? Nein? - weshalb nicht?

{sollte das nach smalltalk?}

cha
Watt about the non-digital!?

Benutzeravatar
Meillo
Moderator
Beiträge: 9241
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: stderr wiederholen

Beitrag von Meillo » 14.02.2012 13:43:00

chabayo hat geschrieben: Wenn ich ein Programm starte habe an einer Konsole 3 FD's, stin,stdout,stderr.

Wenn ich das Programm von der Shell loese, in den Hintergrund setze, was passiert mit den 3 FD's, welche vermutlich fuer die Kommunikation mit dem Shellprozess mit pipes verbunden waren...
Stdout geht weiterhin an die Shell, wie du so sehen kannst:

Code: Alles auswählen

(sleep 1; echo foo)&
Eingaben gehen aber nur an den Vordergrundprozess.

Es gibt da diese Signale:

Code: Alles auswählen

TTIN 	Background read attempted from control terminal.
TTOU 	Background write attempted from control terminal.
Vielleicht hilft das bei der Recherche.

Hier hast du noch den Quellcode einer sehr kleinen Shell mit Job-Control. Vielleicht wirst du dort fuendig:
http://heirloom.cvs.sourceforge.net/hei ... irloom-sh/

Kann ich das mit gdb attach PID wieder so hinkriegen das ich stderr zu sehen bekomme? Nein? - weshalb nicht?
Keine Ahnung.

{sollte das nach smalltalk?}
Nein.
Use ed once in a while!

Antworten