IPC::Lockfile - run only one instance of a program at a time using flock
version 0.05
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).
IPC::Lockfile
flock
Sys::RunAlone for a more flexible module that uses the same technique as IPC::Lockfile
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 <dfarrell@cpan.org>
This software is Copyright (c) 2015 by David Farrell.
This is free software, licensed under:
The (two-clause) FreeBSD License
To install IPC::Lockfile, copy and paste the appropriate command in to your terminal.
cpanm
cpanm IPC::Lockfile
CPAN shell
perl -MCPAN -e shell install IPC::Lockfile
For more information on module installation, please visit the detailed CPAN module installation guide.