App::single - An application to run a single instance of a command
0.04
App::single is an application which allow you to run a single instance of a command. Example usage is from a cron:
* * * * * /usr/local/bin/single autossh example.com sleep 86400 2>/dev/null 1>/dev/null
The way it works is that it makes a temporarily file which include information about the process. Information written to the file includes the PID of the process, so the second time single is started with the same arguments it will check if the PID is alive.
single
NOTE: This script is not atomic, but more than good enough for handling the "crontab" case.
$ single <command> $ single autossh example.com sleep 864000 $ single "echo 123;sleep 86400";
NOTE: Including shell characters (such as ">", "|", ";", ...) will invoke the shell, allowing unsafe user input.
The easiest way to get this application is by using cpanminus:
$ curl -L http://cpanmin.us | perl -n - --sudo App::single
Note: --sudo is to install "single" system wide, "-n" is to skip tests for faster installation.
--sudo
Copyright (C) 2014, Jan Henning Thorsen
This program is free software, you can redistribute it and/or modify it under the terms of the Artistic License version 2.0.
Jan Henning Thorsen - jhthorsen@cpan.org
jhthorsen@cpan.org
To install App::single, copy and paste the appropriate command in to your terminal.
cpanm
cpanm App::single
CPAN shell
perl -MCPAN -e shell install App::single
For more information on module installation, please visit the detailed CPAN module installation guide.