Código:
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int i,n;
pid_t pid;
int status;
if (argc < 2) {
fprintf(stderr,"fork1 <valor entero>\n");
return -1;
}
n = atoi(argv[1]);
for(i=0;i<n-1;i++) {
pid = fork();
if (pid == 0) {
printf("Hijo con PID:%i y papa:%i ID HIJO: %i\n",getpid(),getppid());
}
else {
printf("Papa con PID:%i con hijo %i\n",getpid(),pid);
wait(&status);
exit(0);
}
}
}
Este código me crea N procesos, es decir si ingreco ./main.out 3 me creará 3 procesos.
mi problema, es que necesito que cada proceso tenga una ID dada por mi, aparte de la propia que se crea, es decir que de los 3 procesos, cada uno tenga una id del 0 al 2, y que imprima esa ID al pasar por el proceso.
Espero puedan ayudarme, gracias