The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
package App::MadEye::Plugin::Agent::Process;
use strict;
use warnings;
use App::MadEye::Plugin::Agent::Base;

use Net::SSH qw/ssh_cmd/;

sub is_dead {
    my ($self, $host) = @_;

    my $conf = $self->config->{config};
    my $pattern = $conf->{pattern} or die "missing pattern";

    my @result = split /\n/, ssh_cmd($host, "/usr/bin/pgrep -f $pattern");

    if (scalar(@result) == 0) {
        return "$pattern not found";
    } else {
        return;
    }
}
  
1;
__END__

=head1 NAME

App::MadEye::Plugin::Agent::Process - monitoring process

=head1 SCHEMA

    type: map
    mapping:
        target:
            type: seq
            required: yes
            sequence:
                - type: str
        pattern:
            required: yes
            type: str

=head1 AUTHORS

Tokuhiro Matsuno

=head1 SEE ALSO

L<pgrep>, L<App::MadEye>