Don't ask to ask, just ask | |
PerlMonks |
Re: Ensuring only one copy of a perl script is running at a timeby Skeeve (Parson) |
on Dec 19, 2006 at 16:28 UTC ( [id://590695]=note: print w/replies, xml ) | Need Help?? |
If I can't use flock or a module, I usually go to create a "Semaphore" file, meaning, I define a filename and location and create a 0 byte file there. When the program starts, it tries to rename the file to some temporary name. If this succeeds, the program may run. If not, I retry or bail out. the file has to be re-renamed when the program is done. this algorithm assumes that file renaming is an atomic process, meaning that it can't be interrupted by the system and that a program, which renamed the file, really did so. s$$([},&%#}/&/]+}%&{})*;#$&&s&&$^X.($'^"%]=\&(|?*{% +.+=%;.#_}\&"^"-+%*).}%:##%}={~=~:.")&e&&s""`$''`"e
In Section
Seekers of Perl Wisdom
|
|