è una funzione che restituisce il PID del processo chiamante. Cmq ora sto a :
Codice PHP:
#include<stdlib.h>
#include<stdio.h>
#include<unistd.h>
int main(void)
{
int n,i,stato;
pid_t pid, vettore[20];
printf("Inserire N:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
pid = fork();
if(pid == 0)
{
sleep(10);
exit(0);
}
else
vettore[i] = waitpid(0,&stato,0);
}
for(i=0;i<3;i++)
printf("%d classificato Processo %d\n",i+1,vettore[i]);
printf("\nProcesso padre terminato\n");
return 0;
}
Non dovrei esserci nemmeno tanto lontano, il problema è che mi stampa la classifica sempre ordinata (in pratica mi sa che i processi non sono creati asincronamente come volevo...).
L'errore dovrebbe essere o nella waitpid o in quell'exit(0), ma non so come modificare...