Bunu bir cevap olarak gönderiyorum çünkü yeni bir kullanıcıyım ve Stack Overflow henüz oy vermeme izin vermiyor.
Sorin Sbarnea'nın çözümü benim için OS X, Linux ve Windows altında çalışıyor ve bunun için minnettarım.
Bununla birlikte, tempfile.gettempdir (), OS X ve Windows altında bir şekilde ve diğer bazı / çok / tümü (?) * Nixler altında (OS X'in de Unix olduğu gerçeğini göz ardı ederek!) Davranır. Fark, bu kod için önemlidir.
OS X ve Windows, kullanıcıya özgü geçici dizinlere sahiptir, bu nedenle bir kullanıcı tarafından oluşturulan bir geçici dosya başka bir kullanıcı tarafından görülmez. Buna karşılık, * nix'in birçok sürümünde (Ubuntu 9, RHEL 5, OpenSolaris 2008 ve FreeBSD 8'i test ettim), temp dizini tüm kullanıcılar için / tmp'dir.
Bu, çok kullanıcılı bir makinede kilit dosyası oluşturulduğunda, / tmp içinde oluşturulduğu ve yalnızca kilit dosyasını ilk kez oluşturan kullanıcının uygulamayı çalıştırabileceği anlamına gelir.
Olası bir çözüm, mevcut kullanıcı adını kilit dosyasının adına yerleştirmektir.
OP'nin bir bağlantı noktasını kapma çözümünün çok kullanıcılı bir makinede de yanlış davranacağını belirtmek gerekir.