[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]Hola: 1. seria mejor que nos pasaras el codigo de lo que estas intentando hacer y ya veremos: Ahora que hace FORK? La llamada a fork es la unica manera de crear procesos en UNIX -todos los flavours-, proceso quien invoca a FORK es el padre (cuyo identificador sera > 0) y el proceso creado es el hijo (identificador = 0) La llamada hace que el proceso actual se duplique. Despues de la llamada a FORK ,si todo fue bien -exitosa la llamada-, entonces los dos procesos (padre e hijo) tienen una copia identica del contexto del nivel de usuario. Llamada a FORK, el Kernel realiza lo sig: 1 Busca una entrada en la tabla de procesos y la reserva para el proceso hijo. 2 Asigna un ID de proceso al proceso hijo. Este numero es la clave p/ poder controlarlo desde otros procesos. (ver man ps) 3 Realiza una copia del contexto del nivel de usuario del proceso padre p/ el proceso hijo. Las secciones que deban ser compartidas, como el codigo o las zonas de memoria compartida, no se copian, sino que solo se incrementan los contadores que indican cuantos procesos comparten esas zonas. 4 Las tablas de control de ficheros locales al proceso, ejemplo, tabla de descriptores de archivo, tambien se copian del proceso padre al proceso hijo, ya que forman parte del contexto del nivel de usuario. Se incrementan en las tablas globales los contadores a las tablas de kernel, archivos e inodos, indicando cuantos procesos tienen abiertos esos archivos. 5 Regresa al proceso padre el PID del proceso hijo, y al proceso hijo le devuelve el valor 0. De manera sucinta eso es lo que sucede, ahora bien que pretendes hacer? para ejecutar algo nuevo, tienes que hacer uso de las llamadas al sistema exec*, cualquiera de sus flavours y voila..., solo tienes que tener cuidado si el padre espera (wait) a que el hijo termine su ejecucion o no y que este (hijo) le envie algo al padre mientra este (padre) realiza alguna otra opcion o proceso... ciao cesar P.D. ahora mismo no recuerdo el nombre del libro genial que yo lleve en la UNAM, pero es +/-: UNIX, Programacion Avanzada Fco. Manuel Marquez Garcia. esta genial, o birn puedes consultar alguno de llamadas al sistema o alguno de Sistema Operativos sobre todo de Tanenbaum, Andrew.