multiple instance on Unix
Batista, Facundo
FBatista at uniFON.com.ar
Wed Sep 29 13:52:06 EDT 2004
[Nigel King]
#- I have (my son has!) implemented protection against multiple
#- instances
#- causing havoc by creating a directory. This fails if it
#- exists and thus
#- in a single instruction one gets both the acquire and the test.
Multiple instances of objects? Multiple instances of processes?
I needed to not have the same process twice and wrote the following:
def controlSimult(coderr=-1):
"""Function that verifies that there's not other process (of itself)
already in memory."""
# do a ps
(stdin, stdout) = os.popen4('ps -eaf')
ps = stdout.readlines()
# search instances of ourselves
abuscar = sys.executable + ' ' + sys.argv[0]
coinc = [x[:-1] for x in ps if x.find(abuscar) != -1]
# there's more than us-now?
if len(coinc) > 1:
print "There're more simultaneously in memory:"
# show only that are not us
ownpid = os.getpid()
print '\n'.join([x for x in coinc if int(x.split()[1]) !=
ownpid])
sys.exit(coderr)
return
There's a better way?
. Facundo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20040929/5c0ff2c1/attachment.html>
More information about the Python-list
mailing list