IPC::Lockfile - run only one instance of a program at a time using flock
Just import the module:
#!/usr/bin/env perl use IPC::Lockfile; ... # program code here
This will open a lock on the program file, avoiding the need for an external lockfile. This elegant solution for lockfiles was proposed by Mark Jason Dominus.
IPC::Lockfile is a module for use with Perl programs when you only want one instance of the script to run at a time. It uses
flock and should work if run on an OS that supports
flock (e.g. Linux, BSD, OSX and Windows).
Sys::RunAlone for a more flexible module that uses the same technique as
My PerlTricks.com article about this solution.
IPC::Pidfile for a PID-based solution that relies on signals and has a race condition (not recommended).
David Farrell <email@example.com>
This software is Copyright (c) 2015 by David Farrell.
This is free software, licensed under:
The (two-clause) FreeBSD License