NAME
System::Daemon
DESCRIPTION
Swiss-knife for daemonization
SYNOPSIS
See little example:
use System::Daemon;
$0 = 'my_daemon_process_name';
my $daemon = System::Daemon->new(
user => 'username',
group => 'groupname',
pidfile => 'path/to/pidfile',
daemonize => 0,
);
$daemon->daemonize();
your_cool_code();
$daemon->exit(0);
METHODS
- new(%params)
-
Constructor, returns System::Daemon object. Available parameters:
user => desired_username, group => desired_groupname, pidfile => '/path/to/pidfile', procname => process name for ps output, mkdir => tries to create directory for pid files, daemonize => if not true, will not daemonize, for debug reasons, procname => after daemonize $0 will be updated to desired name, new => Write pid to newpidfile=pidfile.".new", if newpidfile dissapears or changed during daemon life, switch back to pidfile Note that even without this option, if pidfile.".new" found during destruction pidfile.".new" moved to pidfile location. These tools are for grace restart.
- daemonize
-
Call it to become a daemon.
- exit($exit_code)
-
An exit wrapper, also, it performing cleanup before exit.
- finish
-
Performing cleanup. At now cleanup is just pid file removing.
- cleanup
-
Same as finish.
- process_object
-
Returns System::Process object of daemon instance.