On Thursday 29 October 2009 16:08:03 Arnau Bria wrote:
> Hola a tots,
>
> torno amb el Perl, una pregunta molt semblant a algo que ja vaig
> preguntar fa temps... i senzillet...
>
> vull saber si N processos estan corrent en una màquina, els N processos
> són diferents. La meva idea inicial (copiant altres scripts que ja
> tenia on N era un nombre petit) és obrir el llista de processos,
> recorre'l buscant els N processos i si el trobo poso una variable a 1
> però clar, una varible per cada procés:
>
> open (PS,"ps -ef|");
> while (<PS>){
> if (/proces/){
> $proces=1;
> }
> [...] N vegades...
jo vaig fer això per a nagios (algo senzill però efectiu):
li passo las llista de processos que vull trobar i em mostra els que falten o
en el seu defecte els que hi ha.
El pots modificar per agafar la llista d'un fitxer o mostrar les dues
sortides.
#!/usr/bin/perl
use strict;
use warnings;
my @proc_li...@argv;
my @no_ok;
if (! $ARGV[0] ) {
print "llista de processos buida\n";
exit 2;
}
for my $proc (@proc_list) {
my $cmd = `ps -ef | grep $proc | grep -v grep | grep -v $0| wc -l`;
chomp $cmd;
# print "\$cmd val -> $cmd despres d'executar $proc\n";
if ($cmd eq 0) {
push @no_ok, $proc;
}
}
if (@no_ok) {
print "Critical: Procesos no presents: ", @no_ok, "\n";
exit 2;
}
print "OK: Tots el processos estan carregats en memòria: @proc_list\n";
exit 0;
azazelo
--
_______________________________________________
Comandob mailing list
[email protected]
http://lists.badopi.org/mailman/listinfo/comandob