On 2005-06-23, Thomas Guettler <[EMAIL PROTECTED]> wrote: > Create a file which contains the PID (process ID) of > the current process in a directory. If the file > already exists, the file is running.
That's how it's usually done. > If your script dies without removing the pid-file, you need to > look during the start if the PID which is in the file is sill > alive. > There is a small race condition between os.path.exists() > and writing the file. That's why it's pointless to call os.path.exists(). > If you want to be 100% sure you need to use file locking. I've never seen it done that way. The standard method is to use open() with flags O_CREAT|O_EXCL. If the open() is sucessful, then you have the lock. If it fails, somebody else already has the lock. Another method is to create a temp file containing the PID and then call link() to rename it. Both open() and link() are atomic operations, so there's no race condition. -- Grant Edwards grante Yow! I don't know WHY I at said that... I think it visi.com came from the FILLINGS inmy read molars... -- http://mail.python.org/mailman/listinfo/python-list