App-Control

 view release on metacpan or  search on metacpan

Control.pm  view on Meta::CPAN

    {
        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 )