2 de enero de 2010

Ejecutar Perl scripts en background

Existe unos módulos específicos para esto.
Proc::Daemon
Este es un módulo de control de procesos:
Proc::PID::File

Instalacion en Debian:
# apt-get install libproc-daemon-perl libproc-pid-file-perl

Ejemplo de script en perl demonizado:
#!/usr/bin/perl
#Crea un archivo con registros del localtime cada 2 segundos
#bypp2010
use Proc::Daemon;
use Proc::PID::File;
use File::Copy;
Proc::Daemon::Init;
$c = 0;
unlink("./perl_daemon.txt"); #borra el archivo anterior
while ( 1 == 1 ) {
my $c = $c + 1;
open (FILE, ">>./perl_daemon.txt");
print FILE localtime(time);
print FILE "\n";
close (FILE);
sleep(2);
}

Estos script demonizados se puedes ejecutar desde otros scripts de perl usando
system (ruta del perl daemon);

ref:
http://misnotaslinux.blogspot.com/2010/01/ejecuntando-comamdos-linux-desde-perl.html
http://www.perladvent.org/2004/9th/

No hay comentarios:

Publicar un comentario