Código‎ > ‎

check_process_up

Este programa checkea si un proceso está activo y lanza una alerta en el caso de que no lo estuviera.


#!/usr/local/bin/perl -w

use Net::SMTP;
our $flag=0;


open(DATE, qq#tasklist /fi "imagename eq CallProc.exe" |#); # Chapuzilla para ver si un proceso existe. Es totalmente dependiente de la platarforma debido a llamadas a comandos del sistema;
while (<DATE>) {
    my($line) = $_;
    chomp($line);

    if ($line eq "") {
        #Si el proceso existe ponemos el flag
        $flag=1;
        last;
    }

}
if ($flag == 1) {
    print "El proceso existe\n";
}
#El proceso no existe y habr que enviar un email
else
{
    print "El proceso no existe\n";

    $smtp = Net::SMTP->new('IP_SERVIDOR_DE_CORREO');

    $smtp->mail($ENV{USER});
    $smtp->to('mi-mail@prueba.es');

    $smtp->data();
    $smtp->datasend('To: mi-mail@prueba.es');
    $smtp->datasend("\n");
    $smtp->datasend("\n");
    $smtp->datasend("El proceso no está activo\n");
    $smtp->dataend();

    $smtp->quit;


}
#print "$flag\n";
close (DATE);