Re: [Comandob] mirar si N processos estan corrent, en Perl

2009-10-30 Por tema Ferran Fontcuberta
El vie, 30-10-2009 a las 11:35 +0100, Daniel López escribió:
> On Friday 30 October 2009 10:26:03 Ferran Fontcuberta wrote:
> > perl -e 'print $1 if "foo bar" =~ /((bar)?)/'
> així sí:
> 
> perl -e 'print $1 if "foo bar" =~ /(?: (bar)?)/'

Merci! :)

Era l'espai, que tocava els collonets... ¿docu o proves? Si es docu,
m'hi pots referir, si vos plau?

--
___
Comandob mailing list
Comandob@badopi.org
http://lists.badopi.org/mailman/listinfo/comandob

Re: [Comandob] mirar si N processos estan corrent, en Perl

2009-10-30 Por tema Daniel López
On Friday 30 October 2009 10:26:03 Ferran Fontcuberta wrote:
> perl -e 'print $1 if "foo bar" =~ /((bar)?)/'
així sí:

perl -e 'print $1 if "foo bar" =~ /(?: (bar)?)/'


dani
--
___
Comandob mailing list
Comandob@badopi.org
http://lists.badopi.org/mailman/listinfo/comandob

Re: [Comandob] mirar si N processos estan corrent, en Perl

2009-10-30 Por tema Arnau Bria
On Fri, 30 Oct 2009 10:16:25 +0100
Jose Luis Perez Diez wrote:

> Amb aquestas especificacions el mes sencill em sembla que es
> cualsevolt cosa semblant a aquesta:

tenia fet algo smeblant, però ho veia guarro 
sempre em dona la impressió que si no faig les coses a la perl way no
ho faig bé... (tipus obrir el PS com un filehandle i coses així, i tots
dos feu servir un ps normal i corrent, inclús amb grep de pel mitg).

canviarè aquest pq accepti una llista com a entrada i fora.

com sempre, moltes gràcies Jose Luis.

-- 
Arnau Bria
http://blog.emergetux.net
Bombing for peace is like fucking for virginity
--
___
Comandob mailing list
Comandob@badopi.org
http://lists.badopi.org/mailman/listinfo/comandob

Re: [Comandob] mirar si N processos estan corrent, en Perl

2009-10-30 Por tema Arnau Bria
On Thu, 29 Oct 2009 22:53:33 +0100
Ramiro Magallanes wrote:

> El jue, 29-10-2009 a las 16:08 +0100, Arnau Bria escribió:
> > Hola a tots,
> > 
> > torno amb el Perl, una pregunta molt semblant a algo que ja vaig
> > preguntar fa temps... i senzillet...
> 
> No se puede usar python ? Un cron y algo de bash ? xD
si, por supuesto. Pero me apetecía hacerlo en Perl..
Siempre suele haber N soluciones a un problema.

gracias!
-- 
Arnau Bria
http://blog.emergetux.net
Bombing for peace is like fucking for virginity
--
___
Comandob mailing list
Comandob@badopi.org
http://lists.badopi.org/mailman/listinfo/comandob

Re: [Comandob] mirar si N processos estan corrent, en Perl

2009-10-30 Por tema Arnau Bria
On Thu, 29 Oct 2009 17:08:06 +0100
Ferran Fontcuberta wrote:

> El jue, 29-10-2009 a las 16:08 +0100, Arnau Bria escribió:
> > idees?
> 
> Home, lo de la variable per procés, jo empraria un hash... Sino,
> sempre pots emprar tee grep i mil guarrades més; però... quin és el
> problema, exactament?
problema cap, només demanava consell. 
si lo del hash ho havi pensat, però pensava que em complicava més que
una alatra cosa.

gràcies!
Arnau
--
___
Comandob mailing list
Comandob@badopi.org
http://lists.badopi.org/mailman/listinfo/comandob

Re: [Comandob] mirar si N processos estan corrent, en Perl

2009-10-30 Por tema Arnau Bria


On Thu, 29 Oct 2009 16:59:31 +0100
Daniel López wrote:

> jo vaig fer això per a nagios (algo senzill però efectiu):
gràcies li farè una ullada,  te bona pinta.

[...]
Arnau
--
___
Comandob mailing list
Comandob@badopi.org
http://lists.badopi.org/mailman/listinfo/comandob

Re: [Comandob] mirar si N processos estan corrent, en Perl

2009-10-30 Por tema Ferran Fontcuberta
El jue, 29-10-2009 a las 16:08 +0100, Arnau Bria escribió:
> 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 (){
> if (/proces/){
>   $proces=1;
> }
> [...] N vegades...

Tambe pots pasarli un sort -u al ps, possar en un array els processos
que busques i dp jugar amb ${^POSTMATCH}

O, tambe amb un sort, pots passarli un /g i buscar extreure /(proces1
\n).*(proces2\n)/

el que passa amb aquest "acostament" és que, si no vaig errat malament,
els ()? i les backreferences es porten malament a perl. si, mira,
comprovació ràpida:

perl -e 'print $1 if "foo bar" =~ /((bar)?)/'

--
___
Comandob mailing list
Comandob@badopi.org
http://lists.badopi.org/mailman/listinfo/comandob

Re: [Comandob] mirar si N processos estan corrent, en Perl

2009-10-30 Por tema Jose Luis Perez Diez
El Thursday, 29 de October de 2009 16:08:03 Arnau Bria va escriure:
> 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
>
> *Estava pensant en fer un sort al llistat de processos (i ordenar
> els if alfabèticament, clar) així a la que un if falla ja puc sortir i
> escopir l'error... em dona igual comprovar els altres serveis si un
> falla. Vamos, que ja vull que falli tot l'script.

Amb aquestas especificacions el mes sencill em sembla que es cualsevolt cosa 
semblant a aquesta:


use strict;
use warnings;

my @procesos = qw(kmail iceweasel kterm);
my $actual = `ps aux`;

for my $proceso (@procesos) {
   next if $actual =~ /$proceso/s;
   die "Falta '$proceso'";
}

Segun que opciones uses en el ps puedes usar un oneliner como:

perl -e'$running = `ps `; $running =~ /$_/ or die "Falta $_" for (@ARGV);'\ 
bash startkde kmail pepe
--
___
Comandob mailing list
Comandob@badopi.org
http://lists.badopi.org/mailman/listinfo/comandob

Re: [Comandob] mirar si N processos estan corrent, en Perl

2009-10-29 Por tema Ramiro Magallanes
El jue, 29-10-2009 a las 16:08 +0100, Arnau Bria escribió:
> Hola a tots,
> 
> torno amb el Perl, una pregunta molt semblant a algo que ja vaig
> preguntar fa temps... i senzillet...

No se puede usar python ? Un cron y algo de bash ? xD

--
___
Comandob mailing list
Comandob@badopi.org
http://lists.badopi.org/mailman/listinfo/comandob


Re: [Comandob] mirar si N processos estan corrent, en Perl

2009-10-29 Por tema Jordi Funollet
On Thursday 29 October 2009 18:23:55 Dani wrote:
> Bé, faig servir molt sovint el check_procs, totes les màquines linux o unix
> el fan servir.
>
> El meu script agafa una llista d'arguments (processos) i els verifica, si
> falla un sortim amb critical.
> Diria que el check_procs no admet una llista.
>
> et puc assegurar que abans de fer un script busco una estona a veure si hi
> ha algo fet.

Sí, sí, tenia curiositat per saber quina era la "funcionalitat afegida", no 
m'havia quedat clar. Merci.
-- 
##
### Jordi Funollet
### http://www.terraquis.net

--
___
Comandob mailing list
Comandob@badopi.org
http://lists.badopi.org/mailman/listinfo/comandob

Re: [Comandob] mirar si N processos estan corrent, en Perl

2009-10-29 Por tema Dani
On Thursday 29 October 2009 17:49:05 Jordi Funollet wrote:
> No és per tocar els dallonsis, peró hi ha un plugin oficial de Nagios que
> fa això. Com és que no el vas fer servir? Hi ha alguna cosa que no fa?
>
> http://nagiosplugins.org/man/check_procs

Bé, faig servir molt sovint el check_procs, totes les màquines linux o unix el 
fan servir.

El meu script agafa una llista d'arguments (processos) i els verifica, si 
falla un sortim amb critical.
Diria que el check_procs no admet una llista. 

et puc assegurar que abans de fer un script busco una estona a veure si hi ha 
algo fet.

salut

azazelo

--
___
Comandob mailing list
Comandob@badopi.org
http://lists.badopi.org/mailman/listinfo/comandob

Re: [Comandob] mirar si N processos estan corrent, en Perl

2009-10-29 Por tema Jordi Funollet
No és per tocar els dallonsis, peró hi ha un plugin oficial de Nagios que fa 
això. Com és que no el vas fer servir? Hi ha alguna cosa que no fa?

http://nagiosplugins.org/man/check_procs

-- 
##
### Jordi Funollet
### http://www.terraquis.net

--
___
Comandob mailing list
Comandob@badopi.org
http://lists.badopi.org/mailman/listinfo/comandob

Re: [Comandob] mirar si N processos estan corrent, en Perl

2009-10-29 Por tema Ferran Fontcuberta
El jue, 29-10-2009 a las 16:08 +0100, Arnau Bria escribió:
> idees?

Home, lo de la variable per procés, jo empraria un hash... Sino, sempre
pots emprar tee grep i mil guarrades més; però... quin és el problema,
exactament?

> 
> -- 
> Arnau Bria
> http://blog.emergetux.net
> Bombing for peace is like fucking for virginity
> --
> ___
> Comandob mailing list
> Comandob@badopi.org
> http://lists.badopi.org/mailman/listinfo/comandob

--
___
Comandob mailing list
Comandob@badopi.org
http://lists.badopi.org/mailman/listinfo/comandob

Re: [Comandob] mirar si N processos estan corrent, en Perl

2009-10-29 Por tema Daniel López
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 (){
> 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
Comandob@badopi.org
http://lists.badopi.org/mailman/listinfo/comandob

[Comandob] mirar si N processos estan corrent, en Perl

2009-10-29 Por tema Arnau Bria
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 (){
if (/proces/){
$proces=1;
}
[...] N vegades...


Després només miro quines variables no són 1 ... 


hi ha alguna solució més simple?

*Estava pensant en fer un sort al llistat de processos (i ordenar
els if alfabèticament, clar) així a la que un if falla ja puc sortir i
escopir l'error... em dona igual comprovar els altres serveis si un
falla. Vamos, que ja vull que falli tot l'script.

idees?
gràcies!

-- 
Arnau Bria
http://blog.emergetux.net
Bombing for peace is like fucking for virginity
--
___
Comandob mailing list
Comandob@badopi.org
http://lists.badopi.org/mailman/listinfo/comandob