Ich habe ein etwas komplexes Szenario, das ich im folgenden zu beschreiben versuche: /root/main [*] ist ein vom McMillan-Installer erzeugtes Python-Programm, das Module im folder /root/main/buildmain nachlädt. Das Programm hat einen separaten Thread, der alle 60 Sekunden folgendes macht: - mount auf /dev/fd0 - nachschaun, ob sich darauf eine Datei update.cmd befindet. - falls ja: diese Datei per os.spawnl(os.P_NOWAIT, "/usr/local/bin/python", "python", "/media/floppy/update.cmd") starten Dieses update.cmd ist ein Pythonscript, welches folgendes tut: - /-partition rw remounten - Laufendes /root/main beenden (stopsignal per sockets, warte 5 sekunden auf shutdown, falls nicht tot kille das programm) - Programmupdate einspielen - /root/main neu starten - 5 sekunden warten - /-partition ro remounten - umount /dev/fd0 Läuft /root/main noch nicht, kann mit update.cmd das Programm an sich hochgefahren werden, der start sollte also rein technisch korrekt sein. Wenn update.cmd aber aus /root/main heraus gestartet wird, kann nach dem einspielen des Updates /root/main nicht mehr gestartet werden: das Programm meldet "struct not found". Beendet man update.cmd und startet /root/main manuell, geht das - an der neuen Kopie kann es also nicht liegen. Folgendes habe ich bisher versucht: - os.spawnl(os.P_NOWAIT, "/root/main", "/root/main") -> gleiches verhalten - os.system("/root/main &") -> gleiches verhalten - os.chdir("/root") os.spawnl(os.P_NOWAIT, ...) -> gleiches verhalten. Erstaunlicherweise liefert im Kontext von update.cmd ein os.popen("ps -A|grep main").readlines() einen "main defunct" eintrag ??? Arg, bitte sagt mir daß das Unix-Prozesshandling nicht so bescheuert ist, Prozessleichen zu pflegen! (Das letzte mal habe ich sowas unter OS/2 gesehen, da wurden die Dinger "Zombie Prozesse" (sic, IBM doku says so) genannt) [*] Für Sicherheitsbedenkenträger: Der PC hat keine Tastatur / Bildschirm und ist in einem Tresor verschlossen. Disketten kann nur der Techniker einlegen, wenn jemand (2 Personen) den Tresor geöffnet hat. Der PC läuft ohne Netzwerk und bootet immer das gleiche Programm. _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de