[Python-de] Ausgabe von Kindprozessen umleiten

python-lists at duerer-sinclair.de python-lists at duerer-sinclair.de
Fre Jan 16 21:41:34 CET 2004


>>>>> "Andreas" == Andreas Poisel <a.poisel at acat.cc> writes:
    Andreas> * Holger Duerer <H.Duerer at gmx.net> [040116 17:23]:
    >> Ne, die Umleitung wird von der Shell interpretiert.
    >> Wenn so, dann schon ueber den Umweg der Shell:
    >> 
    >> os.execv('/bin/sh', ['sh', '/usr/bin/blah -v 1>log'])

    Andreas> Geht leider auch nicht, weil die Shell den ganzen String
    Andreas> '/usr/bin/blah -v 1>log' als Programmnamen interpretiert.

Wohl wahr... ich denke, man haette noch ein '-c' dazugeben muessen:
   os.execv('/bin/sh', ['sh', '-c', '/usr/bin/blah -v 1>log'])

Allerdings hat diese Loesung natuerlich alle bekannten
Sicherheitsprobleme...  Wenn also das mit dem close/open/dup2 geht,
wuerd ich das hernehmen...

        Holger