[bcn-pm] timeout que no em mata el procés

Arnau Bria listsarnau a gmail.com
dic mar 14 08:23:59 PDT 2012


Hola que tal,

amb el meu famós dimoni estic veient un parell de coses que
m'intriguen.

La primera és que tinc un timeout que em crida un procés (que acostuma
donar timeouts), però no el mata. Es queda en defunct fins
que reinicio el meu dimoni:


El codi és
       my $command="diagnose \-f \-\-host=$conf->{maui_server}";
       my @diagnose;
       eval {
		local $SIG{ALRM} = sub { `killall -9 diagnose`; die
"Timeout\n" }; alarm 5;
                @diagnose=`$command`;
                alarm 0;
        };
        if ($@) {
                die unless $@ eq "Timeout\n"; #unexpected error
                warn "$command timed out.\n";
                $log->error("diagnose timed out... ");
                $log->error("Monpetitami could not connect to maui
server. Skiping MAUI data gathering"); }else{
                my $index;
		[...]
	}


Els processos:

[...]
204      16333  4.1  1.2 199808 103880 ?       S    16:00
0:09 /usr/bin/perl -w /bin/monpetitami 204      16840  0.0  0.0
0     0 ?        Z    16:02   0:00  \_ [diagnose] <defunct>

# /etc/init.d/monpetitami restart
Restarting monpetitami: Shutting down monpetitami:         [  OK  ]
Starting monpetitami:                                  [  OK  ]

[...]
204      17253  3.5  0.1 107768 11612 ?        S    16:04
0:00 /usr/bin/perl -w /bin/monpetitami 204      17256  0.0  0.0 139604
1208 ?        S    16:04   0:00  \_ diagnose ?f ?-host=pbs03.pic.es

Com puc fer per matar el procés que m'obre el meu script?


*** Podria utilitzar el propi timeout de la comanda (30 segons, per
tant alarm 35), però com que acostuma a donar timeouts (si contesta, ho
fa immediatament, sinó, se que és un timeout) preferixo matar-lo
i continuar.



El segon dubte és referent a la memòria consumida.
Com puc veure la memòria consumida per les meves variables ? Em dona la
sensació que no estic buidant bé algun hash / array i que va aganat
dades i dades fins que el meu procés consumeix 600MB... He vist
http://search.cpan.org/~nwclark/Devel-Size-0.77/lib/Devel/Size.pm però,
abans de liar-me a estudiar-m'ho volia  preguntar-vos.

Moltes gràcies per endavant!
Arnau


Més informació sobre la llista de correu Barcelona-pm