App-Control
view release on metacpan or search on metacpan
{
die "ARGS should be an ARRAY ref\n"
unless ref( $self->{ARGS} ) eq 'ARRAY'
;
}
$self->{SLEEP} = 1 unless defined $self->{SLEEP};
$self->{ARGS} ||= [];
return $self;
}
sub running()
{
my $self = shift;
my $pid = $self->pid;
return defined( $pid ) ? kill( 0, $self->{PID} ) : 0;
}
sub pid()
{
my $self = shift;
return unless -e $self->{PIDFILE};
die "Can't read $self->{PIDFILE}\n" unless -r $self->{PIDFILE};
open( PID, $self->{PIDFILE} )
or die "Can't open pid file $self->{PIDFILE}\n"
;
my $pid = <PID>;
close( PID );
return undef unless defined $pid;
chomp( $pid );
return undef unless $pid;
die "$pid looks like a funny pid!\n"
unless $pid =~ /^(\d+)$/
;
return $self->{PID} = $1;
}
sub cmd()
{
my $self = shift;
my $cmd = shift;
return if
defined $self->{IGNOREFILE} and
-e $self->{IGNOREFILE}
;
unless ( defined $cmd )
{
( run in 0.867 second using v1.01-cache-2.11-cpan-65fba6d93b7 )