MooseX::Daemonize(3)  User Contributed Perl Documentation MooseX::Daemonize(3)



NNAAMMEE
       MooseX::Daemonize - provides a Role that daemonizes your Moose based
       application.

VVEERRSSIIOONN
       This document describes MooseX::Daemonize version 0.0.1

SSYYNNOOPPSSIISS
           package FileMaker;
           use Moose;
           with qw(MooseX::Daemonize);

           sub create_file {
               my ( $self, $file ) = @_;
               open( FILE, ">$file" ) || die;
               close(FILE);
           }

           no Moose;

           # then in the main package ...

           my $daemon = FileMaker->new();
           $daemon->start();
           $daemon->create_file($file);
           $daemon->stop();

DDEESSCCRRIIPPTTIIOONN
       Often you want to write a persistant daemon that has a pid file, and
       responds appropriately to Signals.  This module helps provide the basic
       infrastructure to do that.

AATTTTRRIIBBUUTTEESS
       progname Str
           The name of our daemon, defaults to $self->meta->name =~ s/::/_/;

       pidbase Str
           The base for our bid, defaults to /var/run/$progname

       pidfile Str
           The file we store our PID in, defaults to /var/run/$progname/

       foreground Bool
           If true, the process won't background. Useful for debugging. This
           option can be set via Getopt's -f.

       is_daemon Bool
           If true, the process is the backgrounded process. This is useful
           for example in an after 'start' => sub { } block

MMEETTHHOODDSS
       _c_h_e_c_k_(_)
           Check to see if an instance is already running.

       _s_t_a_r_t_(_)
           Setup a pidfile, fork, then setup the signal handlers.

       _s_t_o_p_(_)
           Stop the process matching the pidfile, and unlinks the pidfile.

       _r_e_s_t_a_r_t_(_)
           Litterally

               $self->stop();
               $self->start();

       _d_a_e_m_o_n_i_z_e_(_)
           Calls "Proc::Daemon::Init" to daemonize this process.

       kill($pid)
           Kills the process for $pid. This will try SIGINT, and SIGTERM
           before falling back to SIGKILL and finally giving up.

       _s_e_t_u_p___s_i_g_n_a_l_s_(_)
           Setup the signal handlers, by default it only sets up handlers for
           SIGINT and SIGHUP

       _h_a_n_d_l_e___s_i_g_i_n_t_(_)
           Handle a INT signal, by default calls "$self-"_s_t_o_p_(_)>

       _h_a_n_d_l_e___s_i_g_h_u_p_(_)
           Handle a HUP signal. By default calls "$self-"_r_e_s_t_a_r_t_(_)>

       get_pid
           Lookup the pid from our pidfile.

       save_pid
           Save the current pid in our pidfile

       remove_pid
           Delete our pidfile

       _m_e_t_a_(_)
           The "meta()" method from Class::MOP::Class

DDEEPPEENNDDEENNCCIIEESS
       Obviously Moose, also Carp, Proc::Daemon, File::Pid

IINNCCOOMMPPAATTIIBBIILLIITTIIEESS
       None reported.

BBUUGGSS AANNDD LLIIMMIITTAATTIIOONNSS
       No bugs have been reported.

       Please report any bugs or feature requests to
       "bug-acme-dahut-call@rt.cpan.org", or through the web interface at
       <http://rt.cpan.org>.

SSEEEE AALLSSOO
       Proc::Daemon, Daemon::Generic, MooseX::Getopt

AAUUTTHHOORR
       Chris Prather  "<perigrin@cpan.org>"

TTHHAANNKKSS
       Mike Boyko, Matt S. Trout, Stevan Little, Brandon Black, dec, and the
       #moose denzians

LLIICCEENNCCEE AANNDD CCOOPPYYRRIIGGHHTT
       Copyright (c) 2007, Chris Prather "<perigrin@cpan.org>". All rights
       reserved.

       This module is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself. See perlartistic.

DDIISSCCLLAAIIMMEERR OOFF WWAARRRRAANNTTYY
       BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
       FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT
       WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER
       PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND,
       EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
       WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
       ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH
       YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
       NECESSARY SERVICING, REPAIR, OR CORRECTION.

       IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
       WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
       REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE
       TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR
       CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
       SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
       RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
       FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
       SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
       DAMAGES.



perl v5.8.8                       2007-10-22              MooseX::Daemonize(3)
