[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