[?][C]¿Creación de procesos iniciales?

Iniciado por Run.EXE, 15 Agosto 2012, 23:50 PM

0 Miembros y 1 Visitante están viendo este tema.

Run.EXE

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.

xiruko

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

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

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

un saludo!

Foxy Rider

#2
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() 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)

Run.EXE

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

Foxy Rider

Cita de: 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

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.