Foros del Web » Administración de Sistemas » Unix / Linux »

Archivo Perl como demonio en Linux

Estas en el tema de Archivo Perl como demonio en Linux en el foro de Unix / Linux en Foros del Web. ¿Qué tal gentes? Ojalá me puedan ayudar con este tema, ya que llevo bastante tiempo sin poder resolverlo :'( En un servidor Linux tengo un ...
  #1 (permalink)  
Antiguo 23/08/2010, 13:25
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 10 meses
Puntos: 13
Archivo Perl como demonio en Linux

¿Qué tal gentes?

Ojalá me puedan ayudar con este tema, ya que llevo bastante tiempo sin poder resolverlo :'(

En un servidor Linux tengo un script programado en Perl que se ejecuta como demonio, y funciona de maravillas. Pero cuando ejecuto el script en un nuevo servidor (con las librerías instaladas) el script falla al momento de ejecutar la función init().

El script es muy similar al que les muestro a continuación, y la línea que marco en rojo es la que está fallando en el segundo servidor. Y no tengo idea dónde puede estar la diferencia con el primero :'(

Código:
#!/usr/bin/perl

use Proc::Daemon;
use Proc::ID::File;

MAIN:
{
# Daemonize
Proc::Daemon::Init();

# If already running, then exit
if (Proc:: PID::File->running()) {
exit(0);
}

# Perform initializes here

# Enter loop to do work
for (; {
# Do whatcha gotta do
}
}
__________________
El conocimiento es libre: Movimiento por la Devolución
  #2 (permalink)  
Antiguo 24/08/2010, 13:13
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Archivo Perl como demonio en Linux

Te faltó incluir el mensaje de error.
Recordá que "el script falla" puede ser una descripción de decenas de situaciones diferentes, es imposible acertar a la solución adecuada sin más datos.


Saludos.
  #3 (permalink)  
Antiguo 24/08/2010, 14:00
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 10 meses
Puntos: 13
Respuesta: Archivo Perl como demonio en Linux

Hola AlvaroG:

La verdad es que nisiquiera muestra algún mensaje de error (falta alguna librería, etc), por eso no son muchos los datos que tengo que pudiésen ayudar. Sólo queda evidencia que falla porque no se ejecuta el código ni tampoco queda ejecutándose como proceso
__________________
El conocimiento es libre: Movimiento por la Devolución
  #4 (permalink)  
Antiguo 24/08/2010, 14:44
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Archivo Perl como demonio en Linux

Bien, eso al menos es algo.
¿El programa se puede ejecutar correctamente en modo "no daemon"? Si no da un mensaje de error ¿cómo sabés que es esa línea la que falla?

Según esta página, Init() no hace nada extraño que pueda fallar:
http://h30097.www3.hp.com/docs/iass/...3/0184____.HTM


Saludos.
  #5 (permalink)  
Antiguo 24/08/2010, 15:26
Avatar de ciscoh4x0r  
Fecha de Ingreso: junio-2010
Ubicación: Londres, Inglaterra
Mensajes: 300
Antigüedad: 14 años, 4 meses
Puntos: 12
Respuesta: Archivo Perl como demonio en Linux

Para que alguien te pueda ayudar lamentablemente tendras que escribir el codigo exacto que utilizas, las librerias instaladas en el sistema operativo que te funciona , asi como sus versiones. Seguramente sera un problema de compatibilidad...
__________________
Algún día habrá una persona mejor que yo, pero esa persona no eres tú, ni ese momento es ahora...
  #6 (permalink)  
Antiguo 24/08/2010, 18:08
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 10 meses
Puntos: 13
Respuesta: Archivo Perl como demonio en Linux

Finalmente logré identificar el problema por descarte XD. Lo que estaba fallando era la orden Proc::PID::File->running() (y no tengo idea por qué).

Como solución opté por eliminar toda referencia al "daemon" y ejecutar el script como un archivo normal desde el cron.

Gracias por su ineterés :D
__________________
El conocimiento es libre: Movimiento por la Devolución

Etiquetas: demonio, linux, perl
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:52.