[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