NAME Daemond::Lite - Lightweight version of daemonization toolkit SYNOPSIS package main; use Daemond::Lite; name 'sample'; config 'daemon.conf'; children 1; pid '/tmp/%n.%u.pid'; nocli; # start without commands (start/stop) getopt { { desc => "My custom option", eqdesc => "=myvalue", getopt => "option|o=s", setto => sub { $_[0]{myopt1} = 1 }, # will be accessible via $self->{opt}{myopt1} }, { desc => "My custom option 2", eqdesc => "=mynumber", getopt => "option|o=i", setto => sub { $_[0]{myopt2} = 1 }, # will be accessible via $self->{opt}{myopt2} }, }; logging { # optional my ($self,$detach) = @_; Log::Any::Adapter->set('Easy', $detach ? ( syslog => { ident => $self->name, facility => 'daemon' }, ):( syslog => { ident => $self->name, facility => 'daemon' }, screen => 1 ) ); my $newlog = Log::Any->get_logger(); warn "setup logging $newlog"; $newlog; }; sub check { # before detach, but after all configuration warn "$$ checking"; } sub start { # before fork warn "$$ starting"; } sub run { # inside forked child warn "$$ run"; my $self = shift; $self->{run} = 1; while($self->{run}) { sleep 1; } } sub stop { warn "$$ stop"; my $self = shift; $self->{run} = 0; } runit(); DESCRIPTION Easy tool for creating daemons source: name, pid, conffile, ... config: name, pid, ... getopt: conffile, pid, ... AUTHOR Mons Anderson, "<mons@cpan.org>" COPYRIGHT & LICENSE Copyright 2012 Mons Anderson, all rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.