Commit | Line | Data |
5231273c |
1 | use strict; |
2 | use warnings; |
d8985b7d |
3 | package MooseX::Daemonize::Pid; |
5231273c |
4 | |
2eced271 |
5 | use Moose; |
8ac4733f |
6 | use Moose::Util::TypeConstraints; |
d5a304d9 |
7 | use namespace::autoclean; |
8ac4733f |
8 | |
1d85c76d |
9 | coerce 'MooseX::Daemonize::Pid' |
10 | => from 'Int' |
8ac4733f |
11 | => via { MooseX::Daemonize::Pid->new( pid => $_ ) }; |
d9e417f4 |
12 | |
2eced271 |
13 | |
14 | has 'pid' => ( |
8ac4733f |
15 | is => 'rw', |
16 | isa => 'Int', |
17 | lazy => 1, |
18 | clearer => 'clear_pid', |
19 | predicate => 'has_pid', |
20 | default => sub { $$ } |
2eced271 |
21 | ); |
22 | |
d8985b7d |
23 | sub is_running { kill(0, (shift)->pid) ? 1 : 0 } |
2eced271 |
24 | |
25 | 1; |
26 | |
27 | __END__ |
28 | |
29 | =pod |
30 | |
31 | =head1 NAME |
32 | |
d8985b7d |
33 | MooseX::Daemonize::Pid - PID management for MooseX::Daemonize |
1d85c76d |
34 | |
2eced271 |
35 | =head1 DESCRIPTION |
36 | |
1d85c76d |
37 | This is a very basic Pid management object, it doesn't do all that |
4327fe98 |
38 | much, and mostly just serves as a base class for L<MooseX::Daemonize::Pid::File>. |
39 | |
2eced271 |
40 | =head1 ATTRIBUTES |
41 | |
4327fe98 |
42 | =over 4 |
2eced271 |
43 | |
4327fe98 |
44 | =item I<pid Int> |
2eced271 |
45 | |
2eced271 |
46 | =back |
47 | |
1d85c76d |
48 | =head1 METHODS |
2eced271 |
49 | |
4327fe98 |
50 | =over 4 |
51 | |
52 | =item B<clear_pid> |
53 | |
54 | This will clear the value of the I<pid> attribute. It is useful for making sure |
55 | that the parent process does not have a bad value stored in it. |
2eced271 |
56 | |
4327fe98 |
57 | =item B<has_pid> |
58 | |
1d85c76d |
59 | This is a predicate method to tell you if your I<pid> attribute has |
4327fe98 |
60 | been initialized yet. |
61 | |
62 | =item B<is_running> |
63 | |
64 | This checks to see if the I<pid> is running. |
2eced271 |
65 | |
66 | =item meta() |
67 | |
68 | The C<meta()> method from L<Class::MOP::Class> |
69 | |
70 | =back |
71 | |
72 | =head1 DEPENDENCIES |
73 | |
74 | Obviously L<Moose> |
75 | |
76 | =head1 INCOMPATIBILITIES |
77 | |
78 | None reported. |
79 | |
80 | =head1 BUGS AND LIMITATIONS |
81 | |
82 | No bugs have been reported. |
83 | |
84 | Please report any bugs or feature requests to |
85 | C<bug-acme-dahut-call@rt.cpan.org>, or through the web interface at |
86 | L<http://rt.cpan.org>. |
87 | |
88 | =head1 AUTHOR |
89 | |
92cf56b7 |
90 | Stevan Little C<< <stevan.little@iinteractive.com> >> |
2eced271 |
91 | |
92 | =head1 LICENCE AND COPYRIGHT |
93 | |
05b96f4d |
94 | Copyright (c) 2007-2011, Chris Prather C<< <perigrin@cpan.org> >>. All rights |
2eced271 |
95 | reserved. |
96 | |
97 | This module is free software; you can redistribute it and/or |
98 | modify it under the same terms as Perl itself. See L<perlartistic>. |
99 | |
2eced271 |
100 | =head1 DISCLAIMER OF WARRANTY |
101 | |
102 | BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY |
103 | FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN |
104 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES |
105 | PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER |
106 | EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
107 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE |
108 | ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH |
109 | YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL |
110 | NECESSARY SERVICING, REPAIR, OR CORRECTION. |
111 | |
112 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING |
113 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR |
114 | REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE |
115 | LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, |
116 | OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE |
117 | THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING |
118 | RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A |
119 | FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF |
120 | SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF |
121 | SUCH DAMAGES. |
122 | |
62b880da |
123 | =cut |