Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Run.EXE en 15 Agosto 2012, 23:50 pm



Título: [?][C]¿Creación de procesos iniciales?
Publicado por: Run.EXE en 15 Agosto 2012, 23:50 pm
Estimados, resulta que he tenido que investigar por cuenta propia sobre la creación de procesos, y por el momento sé que un  proceso hijo se puede crear con el comando fork(). Pero mi duda es: Si yo no tengo algún proceso creado, y quiero crear un primer proceso (padre), ¿cómo lo debo hacer? ¿Qué comandos se usa en el proceso? Como dato adicional, soy un neófito en lo que es C. Muchas gracias de antemano por responder.


Título: Re: [?][C]¿Creación de procesos iniciales?
Publicado por: xiruko en 16 Agosto 2012, 05:51 am
que es exactamente lo que quieres hacer?

no se si te refieres a usar threads o hilos de ejecucion (1 proceso podria hacer varias cosas "a la vez"):

http://www.chuidiang.com/clinux/procesos/procesoshilos.php (http://www.chuidiang.com/clinux/procesos/procesoshilos.php)

o si te refieres a que un programa ejecute otro a parte y que de esta manera no sea un proceso hijo:

http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.basetechref/doc/basetrf1/exec.htm (http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.basetechref/doc/basetrf1/exec.htm)

y no se me ocurren mas si ya has encontrado el fork().

un saludo!


Título: Re: [?][C]¿Creación de procesos iniciales?
Publicado por: Foxy Rider en 17 Agosto 2012, 23:38 pm
No te entendí pero para nada x_x
¿A qué llamás "proceso inicial"? significa tantas cosas esa expresión ...

Si querés  "despegar" al proceso hijo del padre, setsid() (http://pubs.opengroup.org/onlinepubs/9699919799/functions/setsid.html) es lo que necesitás ... eso es lo más cercano a lo que entendí.

Saludos.

P.S → En C/C++ sólo abro los que dicen "linux" en el título, de casualidad caí a este ... para la próxima avisá en el título si es linux, por que más allá de ser más ordenado (procesos por ejemplo, no es lo mismo en la API de Windows que bajo POSIX), permite a la gente saber si el tema es de su interés o no (y en definitiva, entrar o no)


Título: Re: [?][C]¿Creación de procesos iniciales?
Publicado por: Run.EXE en 18 Agosto 2012, 04:38 am
Bueno, me aclaro y a la vez agradezco que me hayan ayudado un poco. Yo tampoco sabía cómo definir bien el asunto de los procesos iniciales, pero estuve investigando más a fondo leyendo sobre procesos en UNIX (como consejo de mi profesor), y pues ahí encontré información sobre estos procesos iniciales (la creación de PID 0 y 1, respectivamente), las cuales me aclararon mi duda. Disculpen las molestias y muchas gracias por responder, cierren el tema por favor :3


Título: Re: [?][C]¿Creación de procesos iniciales?
Publicado por: Foxy Rider en 19 Agosto 2012, 22:29 pm
Bueno, me aclaro y a la vez agradezco que me hayan ayudado un poco. Yo tampoco sabía cómo definir bien el asunto de los procesos iniciales, pero estuve investigando más a fondo leyendo sobre procesos en UNIX (como consejo de mi profesor), y pues ahí encontré información sobre estos procesos iniciales (la creación de PID 0 y 1, respectivamente), las cuales me aclararon mi duda. Disculpen las molestias y muchas gracias por responder, cierren el tema por favor :3

Los procesos init? (grrr, odio cuando los profes traducen cosas que no corresponden) ah !
no los podés crear programáticamente, tenés que cambiar el setup del sistema para poder ser init ... en el mismo gestor de arranque podés modificarle el parámetro llamado init del kernel (que es el proceso al que se le pasa el control una vez inicializado todo)

Saludos.