Fork() en LINUX y UNI}
Publicado por Ascención Solano (1 intervención) el 24/02/2006 21:43:56
al transcribir este programa en UNIX y LINUX tuvo diferentes salidas.
Programa
#include <sys/types.h>
#include <stdio.h>
main()
{
int i=0;
switch(fork())
{
case -1:
perror("No se puede crear procesos");
exit(-1);
break;
case 0:
while(i<10)
printf("\t\tSoy el proceso hijo %d\n", i++);
break;
default:
while(i<10)
printf("\t\tSoy el proceso padre %d\n", i++);
}
exit(0);
}
En UNIX: presenta como salida las diez lineas del proceso hijo y seguido las diez lineas del proceso padre.
En LINUX: presenta como salida las diez lineas del proceso padre, escribe el prompt, continueando con las diez lineas del proceso hijo.
¿Por qué?
Programa
#include <sys/types.h>
#include <stdio.h>
main()
{
int i=0;
switch(fork())
{
case -1:
perror("No se puede crear procesos");
exit(-1);
break;
case 0:
while(i<10)
printf("\t\tSoy el proceso hijo %d\n", i++);
break;
default:
while(i<10)
printf("\t\tSoy el proceso padre %d\n", i++);
}
exit(0);
}
En UNIX: presenta como salida las diez lineas del proceso hijo y seguido las diez lineas del proceso padre.
En LINUX: presenta como salida las diez lineas del proceso padre, escribe el prompt, continueando con las diez lineas del proceso hijo.
¿Por qué?
Valora esta pregunta


0