On 03Sep2018 07:45, Malcolm Greene <pyt...@bdurham.com> wrote:
Use case: Want to prevent 2+ instances of a script from running ... ideally in a cross platform manner. I've been researching this topic and am surprised how complicated this capability appears to be and how the diverse the solution set is. I've seen solutions ranging from using directories, named temporary files, named sockets/pipes, etc. Is there any consensus on best practice here?
I like os.mkdir of a known directory name. This tends to be atomic and forbidden when the name already exists, on all UNIX platforms, over remote filesystems. And, I expect, likewise on Windows.
All the other modes like opening files O_EXCL etc tend to be platform specific and not reliable over network filesystems.
And pid based approaches don't work cross machine, if that is an issue. Cheers, Cameron Simpson <c...@cskk.id.au> -- https://mail.python.org/mailman/listinfo/python-list