Duda Uso del Fork

Javier
25 de Noviembre del 2009
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.

stoker22
25 de Noviembre del 2009
Sí le dices que lo imprima en pantalla, dónde pones printf("Proceso %d; padre = %d", getpid(),getppid());
Con el getpid coges el identificador del proceso hijo
Con el getppid coges el identificador del proceso padre