NAME
PidFile - simple read / write pidfile
SYNOPSIS
use PidFile;
# read pidfile
my $pid = PidFile->Read;
if ( $pid ) {
# pid file for this script arealdy exists
# check if script running
if ( PidFile->Check( "pid" => $pid ) {
# script running, so i die
confess;
}
# script not running, delete old pidfile
PidFile->Delete;
}
# save new pid file
PidFile->Write;
## or you can run just only
PidFile->Write;
## and this function check if old pidfile exists and if script running
DESCRIPTION
PidFile provide very simple class methods to manages a pidfile for the current or any process.
CLASS METHODS
- Path
-
get path to pid file
input: (Str) name => script name ( default: $FindBin::Script )
return: path to pid file
- Read
-
read pid from pid file
input: (Str) name => script name ( default: $FindBin::Script )
return: pid from pidfile or undef if pidfile not exists
- Write
-
write pid to pid file
input: (Int) pid => process id ( default: $$ ) (Str) name => script name ( default: $FindBin::Script )
return: 1 upon successfully writing the file or undef if it encountered an error
- Delete
-
delete pid file
input: (Str) name => script name ( default: $FindBin::Script )
return: 1 if file successfully deleted, else 0
- Check
-
check if process running
input: (Int) pid => process id ( default: $$ ) (Str) name => script name ( optional )
return: pid if proces exists, undef if error, else 0
CLASS ATTRIBUTES
- Dir
-
set / get pid file dir
default: /var/run
- Suffix
-
set / get pidfile suffix
default: empty sting
AUTHOR
Lukasz Romanowski (roman) <dr.romanowski@hurra.com>
LICENSE
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.