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