On Sep 9, 3:29 pm, Alain Ketterlin <al...@dpt-info.u-strasbg.fr> wrote: > cerr <ron.egg...@gmail.com> writes: > > I'm calling a python script from a php script which again calls a perl > > script with subprocess.popen(). > > This seems to work fine so far only that once the python script > > completed it is becoming a zombie because the perl script in the > > background is still running... so before i exit the python script, i > > would need to kill my perl subprocess. > > How can i do so? > > x.terminate() (and then x.wait()) where x is the value returned by > subprocess.Popen(). Well, this is what I have:
writelog("starting GPS simulator") commandlist=[GPSsim,proto,GPSfile] writelog(commandlist[0]+" "+commandlist[1]+" "+commandlist[2]) process=subprocess.Popen(commandlist) writelog("GPS simulator started") ... ... os.kill(process.pid,9) os.wait() but this is not working for me... :( any clues? > P/S: I'm not sure why the python process survives, and I think your use > of "zombie" is not correct (afaik a zombie is an exited process whose > parent hasn't called wait() yet) This is what I have: localhost cgi-bin # ps ax | grep py 11853 ? Z 0:00 [python2.6] <defunct> 12029 pts/1 S+ 0:00 grep --colour=auto py The 'Z' you see there stands for Zombie -- http://mail.python.org/mailman/listinfo/python-list