Hari Sekhon wrote: > How exactly do you check that the pid is still active in python? Is > there a library or something that will allow me to manipulate system > processes and listings etc the way everybody does in unix shells....
by passing zero to the os.kill primitive: os.kill(pid, 0) if this raises an OSError, there's no active process with the given pid. > I'm a huge fan of shell so I've done my own thing which leans on shell > as follows: > > import sys,commands,os > > scriptpath = sys.argv[0] > scriptname = os.path.basename(scriptpath) > > number_procs=commands.getstatusoutput('ps -ef|grep %s|grep -v grep|wc > -l' % scriptpath) > > if number_procs > 1: > print "There appears to be another %s process running." % scriptname what if you have commands with overlapping names (e.g. "bar.py" and "foobar.py"), or some other user on the machine happens to run a command that, on purpose or by accident, contains your script's name (e.g. "emacs mybar.py") ? </F> -- http://mail.python.org/mailman/listinfo/python-list