Gerson Kurz wrote:
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
Deine Beschreibung ist etwas konfus, da /root/main einmal als Programm, dann wieder als Verzeichnis daherkommt. Ich nehme an, dass das Programm tatsaechlich *in* diesem Verzeichnis liegt...
Erstaunlicherweise liefert im Kontext von update.cmd ein os.popen("ps -A|grep main").readlines() einen "main defunct" eintrag ???
Nichts erstaunliches dabei. man wait
Arg, bitte sagt mir daß das Unix-Prozesshandling nicht so bescheuert ist, Prozessleichen zu pflegen!
An Zombies unter unix wirst du dich gewoehnen muessen. Die sind wahrscheinlich um einiges aelter wie du! (Ok, nicht alle... ;) Solange der Elternprozess ein gestorbenes Kind nicht mit wait() oder waitpid() wieder "eingesammelt" hat, bleibt dessen Eintrag in der Prozessliste stehen. Andernfalls waere es fuer die Eltern nicht moeglich, die ordnungsgemaesse Beendung und den Rueckgabewert(!) ihrer Kinder zu ueberpruefen (unter Windows geht das z.B. nicht). Wenn der Elternprozess zuerst stirbt, dann "erbt" init dessen Kinder, welches sie dann automatisch mit wait() erloest. -schorsch -- Georg Mischler -- simulations developer -- schorsch at schorsch com +schorsch.com+ -- lighting design tools -- http://www.schorsch.com/ _______________________________________________ Python-de maillist - Python-de@python.net http://python.net/mailman/listinfo/python-de