[Perl] COMPROBAR QUE EXISTE UN PROCESO

Mauricio Herrera Cuadra arareko en yahoo.com
Mie Dic 7 16:55:01 CST 2005


Revisa como estas capturando la salida de tus comandos. A $ps le asignas
un valor entre comillas ("), por lo cual su contenido es dicho string ("ps
aux |grep bash") y no te devuelve lo que quieres de la tabla de procesos,
puesto que nunca ejecuta tales comandos. Hazle un print a $ps y verás a lo
que me refiero.

Necesitas usar el backtick (`) para capturar la salida de cualquier
comando:

$ps = `ps aux |grep bash`;

Espero te sirva.
Saludos.

--- sergixxxx30 en yahoo.es wrote:
> 
> salu2 de nuevo ;-)
> 
> Estoy tratando de comprobar que la tabla de procesos
> contiene un proceso, para si no existe relanzarlo.
> Mi idea es hacer un grep y si devuelve vacio es que el
> proceso no está en la tabla.
> Para ello he hecho este script buscando "bash" en ps
> aux, yo pensaba me serviría para el asunto, pero los
> resultados que me devuelve no son ciertos.
> 
> $ps ="ps aux |grep bash";
> if($ps == 0)   # he probado también if($ps eq "")
>   {
>    print "NO EXISTE\n";
>   }
> else
>   {
>    print "EXISTE\n";
>   }
> 
> 
> Se trata de que si $ps no contiene nada me avise con
> el "NO EXISTE" para volver a relanzarlo.
> 
> gracias.
> 
> PD: Siento ser tan pesado .... :-(
> 
> 
> 		
> ______________________________________________ 
> Renovamos el Correo Yahoo! 
> Nuevos servicios, más seguridad 
> http://correo.yahoo.es
> 


MAURICIO HERRERA CUADRA
mauricio en arareko.net
http://www.arareko.net/


		
__________________________________________ 
Yahoo! DSL – Something to write home about. 
Just $16.99/mo. or less. 
dsl.yahoo.com 



Más información sobre la lista de distribución Perl