[Python-de] Ausgabe von Kindprozessen umleiten
Andreas Poisel
a.poisel at acat.cc
Fre Jan 16 17:08:34 CET 2004
* python-lists at duerer-sinclair.de <python-lists at duerer-sinclair.de> [040116 16:10]:
> ,----
> | import os
> |
> | for xxxx:
> | ... fork etc...
> | # stdout dicht machen
> | sys.stdout.close()
> | os.close(1)
> |
> | # Neues File oeffnen
> | fd = os.open(newfilename, os.O_RDONLY)
> |
> | # Filedeskriptor nach 1 (stdout) kopieren...
> | os.dup2(fd, 1)
> |
> | ... und jetzt Kindprozess ausfuehren...
> `----
> sollte gehen, denke ich.
So geht es.
Das Flag fuer os.open() hab ich noch ein bisschen angepasst:
fd= os.open(logfile, os.O_CREAT | os.O_WRONLY | os.O_APPEND)
So wird das Logfile auch neu angelegt bzw. erweitert.
Vielen Dank, das hat mir das os Modul wieder ein bisschen mehr
erschlossen. ;-)
--
Andi