Sistemas Operativos > GNU/Linux
Ejecutar una aplicación desde un nuevo hilo creado con fork
m0skit0:
--- Cita de: "sergios_" ---hacen esto usando una llamada a exec, pero por lo que he leído al hacer exec se perdería por ejemplo la memoria compartida que se hubiera definido previamente
--- Fin de la cita ---
No termino de entender muy bien para qué quieres mantener las comunicaciones después de hacer execve(). Ten en cuenta que los descriptores de fichero que tuvieras no cambian, siguen siendo los mismos aunque la imagen del proceso sea otra. Aquí te dejo una explicación de qué se hereda y qué no del proceso llamante:
http://www.manpagez.com/man/2/execve/
Saludos.
Ruben3d:
Puedes mantener la comunicación por tuberías tras lanzar el proceso con exec. ¿Cómo crees que funciona la propia shell, cuando haces llamadas del tipo 'cat archivo | grep "hola"'? En ese caso concreto lo que se hace es redirigir stdin y stdout a tuberías que heredan los procesos creados con exec desde los fork.
Un saludo,
Rubén
su -:
Aqui hay un ejemplo muy bueno con fork()
No importa si lo haces con pipes o sockets... cada proceso ejecutado tendra memoria independiente.
Lo mas facil seria usar, ya sea por sockets o por pipes, un sistema donde pases como argumento a los procesos ejecutados toda la informacion que necesites.
Otra forma de hacer eso es usar un metodo tipo "plugins" tal como lo hace Firefox (por ejemplo).
Navegación
[*] Página Anterior
Ir a la versión completa