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