/* FORK DI N PROCESSI: creaproc.c */

#include<stdio.h>
#include<sys/types.h>

main(argc, argv)
int argc;		//indica il numero di parole inserite sulla riga di comando
char *argv[];		//vettore puntatori alle stringhe della riga di comando
{
int i,n,w,nproc;
sscanf(argv[1],"%d",&nproc);

for(i=0; i<nproc; i++)
{
	n=fork();

	if ( n == 0)  /* processo figlio */
	 {
	 printf("(figlio %d) il mio process-id e` %d\n",i+1,getpid());
	 printf("(figlio %d) il process-id di mio padre e` %d\n",i+1,getppid());
	 exit(0);
	 }
	 else       /* processo padre */
	    {
	    printf("(padre) il mio process-id e` %d\n",getpid());
	    w = wait(0);
	    if(i==nproc-1) exit(0);
	    }
}
		
}
