[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: preguntas de perl



El día 16 de agosto de 2008 22:12, Daniel Cordero <kirikhu@gmail.com> escribió:
> Hola a todos
>
> Me gustaria saber si hay alguien de la lista que sea diestro en perl y
> me pueda responder unas preguntas muuuy basicas y tontas pero que me
> tienen un poco atorado en la creación de un proyecto personal.
>
> la historia:
>
> creé un programa servidor y un cliente que se conecta al primero y le
> envia mensajes codificados con base64.
> ahora quiero crear un programa de chat que tenga las dos cosas pero
> basado en el codigo que ya escribí y se me ocurrió usar fork para ese
> propósito pero tengo estas preguntas, a lo mejor y alguien me ayuda:
>
> digamos que inicio el programa cliente.pl que escribe algun mensaje de
> bienvenida y luego de eso crea un subproceso servidor , me pregunto si
> desde el subproceso llamo a <">print "hola, soy el subroceso"</"> el
> mensaje será visto en la misma consola desde la que inicié el padre y no
> habrá una "perdida de e/s"
>
> mientras escribia esto se me ocurrió una solución, si funciona la
> publico, pero de todos modos por si acaso si alguien sabe plz q despeje
> esa duda.
>
> Saludos.
>
> Daniel
>

Hola,

entiendo que lo que tú deseas hacer es simplemente un proceso servidor
que se quede como daemon del sistema para poder recibir conexiones.
Con un fork puedes conseguir esto justamente.
Los mensajes que salgan a la consola serán a la misma que arranque el
proceso, a no ser que dirijas los flujos de E/S a otro sitio. Una idea
de proceso daemon sería algo así...

sub daemon
{
        chdir "/";
        open STDIN, '/dev/null';
        open STDOUT, '>/dev/null';
        open STDERR, '>/dev/null';
        fork && exit;
        setsid();
        if (open PID, '>', '/var/run/myserver.pid')
        {
                print PID "$$\n";
                close PID;
        }
}


-- 
Un saludo,

Javier.


Reply to: