Singleton process

Jp Calderone exarkun at intarweb.us
Mon Dec 22 06:48:01 CET 2003


On Sun, Dec 21, 2003 at 09:38:49PM -0800, Fortepianissimo wrote:
> Here is the situation: I have multiple processes of same Python script
> fired, but I want *only one* of them to continue and all the others to
> quit immediately.
> 
> I can use a lock file, and the first process will get the necessary
> lock. But if I do open(lockfile) all the other subsequent processes
> will just wait there - instead I want them to quit immediately.
> 
> Can someone give a simple outline of how to achieve this? Thanks a
> lot.

    import os, errno

    def shouldRun():
        try:
            os.mkdir(MAGIC_PATH)
        except OSError, e:
            if e.args[0] == errno.EEXIST:
                return False
            raise
        return True

  Jp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 196 bytes
Desc: Digital signature
URL: <http://mail.python.org/pipermail/python-list/attachments/20031222/aaa3d6bf/attachment.pgp>


More information about the Python-list mailing list