FORK()

Fork es una funcion que crea un nuevo proceso, el cual sera una copia del proceso que le llama.

El PID que le asigna fork al proceso hijo sera de 0, y para identificar al proceso padre sera un numero diferente de 0, pero nunca sera menor.

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(void)
{
 printf("Arbol de Procesosn");
 int pid;

 pid = fork();
 if(pid < 0)
 {
  printf("Error al generar el proceson");
 }
 else if(pid == 0)
 {
  printf("Aa, PID = %d, su PPID = %dn", getpid(), getppid());
  pid = fork();
  if(pid == 0)
  {
   printf("Ab, PID = %d, su PPID = %dn", getpid(), getppid());
   pid = fork();
   if(pid == 0)
   {
    printf("Ac, PID = %d, su PPID = %dn", getpid(), getppid());
    pid = fork();
   }
   else
   {
    printf("Bc, PID = %d, su PPID = %dn", getpid(), getppid());
   } 
  }
  else
  {
   printf("Bb, PID = %d, su PPID = %dn", getpid(), getppid());
  }
 }
 else
 {
  printf("Ba, PID = %d, su PPID = %dn", getpid(), getppid());
 }
}

PID = Identificador del Proceso.
PPID = Identificador del Proceso Padre.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s