NAME
IPC::Pidfile - run only one instance of a program at a time
VERSION
version 0.02
SYNOPSIS
Just import the module:
#!/usr/bin/env perl
use IPC::Pidfile;
... # program code here
This will create a pidfile for the program and clear it up when the program is finished.
DESCRIPTION
IPC::Pidfile
is a module for use with Perl programs when you only want one instance of the script to run at a time. It should work for you if:
You are OK with the pidfile being created in the same directory as the script
You are not using an obscure OS. (Linux, BSD, OSX and Windows should be OK, see CPANTESTERS).
Your program is not using signal handlers for
SIGINT
andSIGTERM
.IPC::Pidfile
uses these to clear up the pidfile at the end of the process
WARNING
This module has a race condition as it attempts to remove the pidfile. It might be better to use IPC::Lockfile
.
BUGS/ISSUES
Race condition (see #WARNING).
This is an early release and may contain bugs. To run IPC::Pidfile
in debug mode, create the environment variable IPC_PIDFILE_DEBUG
:
IPC_PIDFILE_DEBUG=1 ./path/to/program
AUTHOR
David Farrell <dfarrell@cpan.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2015 by David Farrell.
This is free software, licensed under:
The (two-clause) FreeBSD License