Pages: [1]   Go Down
Print
Author Topic: funzione waitson  (Read 2287 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
luckynosky
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 178



« on: 11-02-2009, 11:41:25 »

Code:
int main(void)
{
int exitcode, childpid, chldcode;

if (fork() == 0) {
    /* child process */
printf("\tSono il figlio. PID=%d, PPID=%d\n",getpid(),getppid());
sleep(3);
chldcode = 75;
printf("\tSono il figlio. Esco con codice = %d\n", chldcode);
exit(chldcode);
} else {
/* parent process */
printf("Sono il padre. PID=%d, PPID=%d\n",getpid(),getppid());
printf("Attendo il figlio\n");
// sleep(20); // comment in to make the child a zombie for a while
childpid = wait(&exitcode);
printf("Il figlio %d e' terminato con codice=%d\n",
       childpid,
   WEXITSTATUS(exitcode)  // Il codice di uscita lasciato
  );                      // da exit e' nel byte basso di
}                                 // exitcode, gli altri bit non servono
return 0;
}

avevo un dubbio

childpid = wait(&exitcode);

chilpid è uguale all attesa della terminazione del figlio....nella wait la & a cosa serve?
Logged
france_88
Apprendista Forumista
**
Offline Offline

Posts: 119



« Reply #1 on: 11-02-2009, 12:33:11 »

 memorizza lo stato del processo figlio terminato nella locazione di  memoria puntata dall'argomento di wait
Logged
K1a
Apprendista Forumista
**
Offline Offline

Posts: 210



« Reply #2 on: 11-02-2009, 12:34:00 »

wait(&exitcode);

restituisce il process id del processo figlio che ha terminato
la & serve a dire metti il codice di uscita all'indirizzo della variabile exitcode, che poi usi dopo
la & sta per "indirizzo di..."
Logged
luckynosky
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 178



« Reply #3 on: 11-02-2009, 15:17:36 »

grz mille pray
Logged
luckynosky
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 178



« Reply #4 on: 11-02-2009, 16:41:34 »

un altra cosa

Code:
chldcode = 75;

exit(chldcode);

exit(75)

l'intero del paramentro della funzione exit lo possiamo variare a nostro piacimento o ci sono degli standard?
possibilmente sono sciocchezze ma siccome non ho potuto seguire le ultime lezioni e sto studiando solo dal codice meglio essere sicuri delle cose  I
Logged
LtWorf
Forumista Esperto
****
Offline Offline

Posts: 1.079

Ogni cosa da me scritta è da intendersi come opinione personale e non come dato di fatto. Anche le eventuali dimostrazioni matematiche da me scritte saranno opinioni personali e quindi dovranno venire dimostrate da una terza parte di fiducia


WWW
« Reply #5 on: 17-02-2009, 18:42:42 »

Normalmente si usa uscire con 0 se tutto è andato bene, e si usano altri numeri per segnalare errori vari. Sui numeri da usare per gli errori non c'è alcuno standard, ma da un programma fatto bene mi aspetto che siano documentati nella pagina di manuale.
Logged

There are some OO programming languages. I will create the first -_-' language.

LtWorf
Pages: [1]   Go Up
Print
Jump to: