Duda Creación Procesos en C
Publicado por Javier (5 intervenciones) el 06/08/2008 11:29:49
Hola a todos, estoy empezando con c sobre linux, en la creación de procesos mediante la función fork(). Pero tengo una duda con un código que me parece de lo más simple, a ver si alguien me la puede resolver. El código es el siguiente:
#include <sys/types.h>
#include <stdio.h>
main(){
pid_t pid;
pid = fork();
printf("%d ",pid); /* ----> Imprime el 0 */
switch(pid){
case -1:
perror("fork");
break;
case 0:
printf("Proceso %d; padre = %d ", getpid(),getppid()); /* ----> imprime los identificadores*/
break;
}
}
Y la duda es que me gustaría saber por que imprime al final "7475". Se que es el identificador del proceso, pero es que no hay ninguna parte del código en la que le digo que lo imprimar en pantalla... o me equivoco??
Esto es lo que me saca por pantalla:
0
Proceso 7475; padre = 7474
7475
Gracias por la ayuda y un saludo.
#include <sys/types.h>
#include <stdio.h>
main(){
pid_t pid;
pid = fork();
printf("%d ",pid); /* ----> Imprime el 0 */
switch(pid){
case -1:
perror("fork");
break;
case 0:
printf("Proceso %d; padre = %d ", getpid(),getppid()); /* ----> imprime los identificadores*/
break;
}
}
Y la duda es que me gustaría saber por que imprime al final "7475". Se que es el identificador del proceso, pero es que no hay ninguna parte del código en la que le digo que lo imprimar en pantalla... o me equivoco??
Esto es lo que me saca por pantalla:
0
Proceso 7475; padre = 7474
7475
Gracias por la ayuda y un saludo.
Valora esta pregunta


0