Am 28.06.2011 16:25, schrieb Florian Lindner:
Siehst Du eigentlich eine Möglichkeit, wie man den Code so formulieren kann, dass ich anstelle des Thread() Objektes ein Popen() Objekt zurückgeben kann?
Ich bin zwar nicht gefragt, antworte aber einfach trotzdem: def popen_callback(on_exit, *popen_args, **popen_kwargs): def threaded_run(on_exit, process): process.wait() on_exit() print popen_args, popen_kwargs proc = subprocess.Popen(*popen_args, **popen_kwargs) thread = threading.Thread(target=threaded_run, args=(on_exit, proc)) thread.start() return proc Anstelle des ganzen Popen-Objektes könnte man auch lediglich die wait()-Methode an threaded_run() übergeben und so aufrufen wie on_exit auch. Damit würde man die Funktion vielleicht etwas allgemeiner halten. -- u1f