Inter-process locking

Piet van Oostrum piet at vanoostrum.org
Sat Oct 12 00:15:19 EDT 2013


Jason Friedman <jsf80238 at gmail.com> writes:

> I have a 3rd-party process that runs for about a minute and supports
> only a single execution at a time.
>
> $ deploy
>
> If I want to launch a second process I have to wait until the first
> finishes.  Having two users wanting to run at the same time might
> happen a few times a day.  But, these users will not have the
> skills/patience to check whether someone else is currently running.
> I'd like my program to be able to detect that "deploy" is already
> running, tell the user, wait a minute, try again, repeat.
>
> I do not know whether anyone has had success with
> http://pythonhosted.org/lockfile/lockfile.html.

It seems to work on Mac OS X.

> I supose I could use http://code.google.com/p/psutil/ to check for a
> process with a particular name.

That will quite probably give you race conditions. 

File locking is generally the best solution for this kind of problems, unless you can make use of OS level semaphores.
-- 
Piet van Oostrum <piet at vanoostrum.org>
WWW: http://pietvanoostrum.com/
PGP key: [8DAE142BE17999C4]



More information about the Python-list mailing list