fork

FORK(2)                     Manual del Programador                     FORK(2)



NOMBRE
       fork, vfork - crea el descendiente de un proceso (child process).

SINOPSIS
       #include <unistd.h>

       pid_t fork(void);
       pid_t vfork(void);

DESCRIPCION
       fork crea un proceso descendiente que difiere de su procesor
       ascendiente sólo en su PID y PPID, y en el hecho que el uso de
       recursos esté asignado a 0.  Los candados de fichero (file locks) y
       las señales pendientes no se heredan.

       En linux, fork está implementado usando páginas copia-en-escritura
       (copy-on-write), asà que la única penalización incurrida por fork es
       el tiempo y memoria requeridas para duplicar las tablas de las páginas
       del ascendiente, y para crear una estructura de tarea (task structure)
       para el descendiente.

VALOR REGRESADO
       En caso de éxito, el PID del proceso descendiente se regresa en el
       hilo de ejecución (execution thread) de su ancestro, y un 0 regresa en
       el hilo de ejecución del descendiente. En caso de fallo, se regresará
       un -1 en el contexto del ascendiente, no se creará ningún proceso
       descendiente, y errno será asinado apropiadamente.

ERRORES
       EAGAIN fork no puede asignar sufficiente memoria para copiar las tablas
              de páginas del ancestro y asignar una estructura de tarea para
              el descendiente.

BUGS
       En Linux, vfork es simplemente un alias para fork.
       fork nunca regresa el error ENOMEM.

CONFORMA CON
       SVID, AT&T, POSIX, X/OPEN, BSD 4.3

VÃASE
       clone(2), execve(2), wait(2)



Linux 1.2.9                      1 Julio 1996                          FORK(2)