Monitorear procesos de programas externo con PERL

Luis Vivero morenisco en gmail.com
Lun Ene 22 13:07:30 CLST 2007


On 1/22/07, Andrés Ruz Salinas <andres en efusion.tv> wrote:
>
> Hola lista,
>
>         Estoy armando un daemon en Perl que se encargue de ejecutar
> "rsync"
> para sincronizar archivos entre el servidor y unas máquinas cliente. La
> parte que más me interesa de esta tarea es poder monitorear el inicio y
> fin
> del proceso relacionado con "rsync" de forma que yo sepa cuando termina la
> transferencia de el(los) archivo(s) y recuperar los mensajes que este
> programa envía para saber si todo terminó bien o no y según eso realizar
> otras tareas.


[...]

Holas, yo he hecho cosas asi con ps, por jemplo, esto es con el servicio
sshd:

root en movexzone:/home/morenisco# ps -fea | grep "/usr/sbin/sshd" | awk
'{print $8}' | head -1
/usr/sbin/sshd
root en movexzone:/home/morenisco# /etc/init.d/ssh stop
 * Stopping OpenBSD Secure Shell
server...
[ ok ]
root en movexzone:/home/morenisco#
root en movexzone:/home/morenisco# ps -fea | grep "/usr/sbin/sshd" | awk
'{print $8}' | head -1
grep
root en movexzone:/home/morenisco# /etc/init.d/ssh start
 * Starting OpenBSD Secure Shell
server...
[ ok ]
root en movexzone:/home/morenisco# ps -fea | grep "/usr/sbin/sshd" | awk
'{print $8}' | head -1
/usr/sbin/sshd

En las lineas de arriba, si el servicio esta corriendo, la salida del
comando es /usr/sbin/sshd , de lo contrario es grep. Si le pones un
if...podrias poner una variable que infique el estado.

Saludos.


Morenisco.


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