Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Fork, Wait, Exec
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Forum di discussione italiano
View previous topic :: View next topic  
Author Message
Realnot
Tux's lil' helper
Tux's lil' helper


Joined: 28 May 2007
Posts: 120
Location: Ferrara

PostPosted: Mon Apr 22, 2013 2:03 pm    Post subject: Fork, Wait, Exec Reply with quote

Salve, qualcuno e' cosi' gentile da spiegarmi l'output di questa porzione di codice? https://gist.github.com/anonymous/5435319 non riesco a capire perche' mi ritorna

Code:
uno
due
Mon Apr 22 15:48:45 CEST 2013
ret: 0 0
ret: 768 3


Fino alla riga 4 ci sono, ma poi non capisco perche' la riga 5 (ret: 768 3) ritorna quei valori dalla riga 15 del sorgente in relazione alla exit().

Forse sono off-topic, in tal caso mi scuso.
_________________
I'm not stupid, only mentally free...
Back to top
View user's profile Send private message
pierino_89
Guru
Guru


Joined: 03 Oct 2009
Posts: 522

PostPosted: Tue Apr 23, 2013 12:35 am    Post subject: Re: Fork, Wait, Exec Reply with quote

Realnot wrote:
Salve, qualcuno e' cosi' gentile da spiegarmi l'output di questa porzione di codice? https://gist.github.com/anonymous/5435319 non riesco a capire perche' mi ritorna

Code:
uno
due
Mon Apr 22 15:48:45 CEST 2013
ret: 0 0
ret: 768 3


Fino alla riga 4 ci sono, ma poi non capisco perche' la riga 5 (ret: 768 3) ritorna quei valori dalla riga 15 del sorgente in relazione alla exit().


Beh, prima esce la fork che è stata rimpiazzata dal comando "date", il quale è uscito con exit status 0 e dunque appare 0.
Dopodiché esce l'altra fork, facendo exit(3) ovviamente come exit status ha 3.
Stampare "ret" non ti serve a niente dal momento che è una variabile da processare: con WEXITSTATUS() ottieni lo stato di uscita, con WTERMSIG() il segnale che ha causato l'uscita, ecc...
Ricordati che in un programma reale dovresti uscire da un child con _exit() e non con exit(), o potresti avere dei problemi :wink:

Quote:
Forse sono off-topic, in tal caso mi scuso.

Probabilmente era meglio nel forum di discussione, magari chiedi a un moderatore se può spostare :wink:
_________________
Linux registered user 461710
Back to top
View user's profile Send private message
ago
Developer
Developer


Joined: 01 Mar 2008
Posts: 1527
Location: Milan, Italy

PostPosted: Tue Apr 23, 2013 7:32 am    Post subject: Re: Fork, Wait, Exec Reply with quote

pierino_89 wrote:
Probabilmente era meglio nel forum di discussione, magari chiedi a un moderatore se può spostare :wink:


Si può sempre fare un report quando si vede qualcosa che è errato
Back to top
View user's profile Send private message
pierino_89
Guru
Guru


Joined: 03 Oct 2009
Posts: 522

PostPosted: Tue Apr 23, 2013 11:18 am    Post subject: Reply with quote

Giusto, scusa ma ieri ero un po' fuso :)
_________________
Linux registered user 461710
Back to top
View user's profile Send private message
Realnot
Tux's lil' helper
Tux's lil' helper


Joined: 28 May 2007
Posts: 120
Location: Ferrara

PostPosted: Fri Apr 26, 2013 12:59 pm    Post subject: Reply with quote

Ciao, scusa per il ritardo, ci sono, non capisco che diavolo e' quel 738...
_________________
I'm not stupid, only mentally free...
Back to top
View user's profile Send private message
pierino_89
Guru
Guru


Joined: 03 Oct 2009
Posts: 522

PostPosted: Sat Apr 27, 2013 11:56 am    Post subject: Reply with quote

Realnot wrote:
Ciao, scusa per il ritardo, ci sono, non capisco che diavolo e' quel 738...


Te l'ho detto poco fa:
Quote:
Stampare "ret" non ti serve a niente dal momento che è una variabile da processare: con WEXITSTATUS() ottieni lo stato di uscita, con WTERMSIG() il segnale che ha causato l'uscita, ecc...


"ret" è un numero binario in cui i diversi gruppi di bit hanno un significato specifico (ad esempio gli 8 bit meno significativi contengono l'exit status). Come puoi facilmente immaginare, una volta convertito in decimale questo numero non ha più assolutamente alcun senso (a meno che tu non sappia calcolare a mente quali sono gli 8 bit meno significativi di 738).

Leggiti questo per avere un'idea dei dati che puoi estrarre da quel valore:
http://digilander.libero.it/uzappi/C/librerie/funzioni/wait.html
_________________
Linux registered user 461710
Back to top
View user's profile Send private message
Realnot
Tux's lil' helper
Tux's lil' helper


Joined: 28 May 2007
Posts: 120
Location: Ferrara

PostPosted: Mon Apr 29, 2013 11:52 am    Post subject: Reply with quote

Ok capito, l'esercizio in questione non presupponeva di sapere cio'... ad ogni modo grazie per il chiarimento :)
_________________
I'm not stupid, only mentally free...
Back to top
View user's profile Send private message
pierino_89
Guru
Guru


Joined: 03 Oct 2009
Posts: 522

PostPosted: Mon Apr 29, 2013 12:09 pm    Post subject: Reply with quote

Realnot wrote:
Ok capito, l'esercizio in questione non presupponeva di sapere cio'... ad ogni modo grazie per il chiarimento :)

Guarda, ti consiglio di leggere in modo maniacale la documentazione di ogni comando perché spesso ci sono delle sottigliezze che ti fregano... Ho dato un esame di C non troppo tempo fa e se non mi fossi spulciato il man, l'info e la documentazione online non l'avrei mai passato :wink:
_________________
Linux registered user 461710
Back to top
View user's profile Send private message
Realnot
Tux's lil' helper
Tux's lil' helper


Joined: 28 May 2007
Posts: 120
Location: Ferrara

PostPosted: Mon Apr 29, 2013 12:15 pm    Post subject: Reply with quote

Certo, questo qui' era semplicemente un esercizio di sistemi operativi, una porzione di codice su un pezzo di carta... non avrei mai scritto 738 nell'ultima riga. Sono arriavato a casa, ho provato a farlo girare ed appena ho visto il 738 sono entranto in stallo (tanto per rimanere in tema) :P
_________________
I'm not stupid, only mentally free...
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Forum di discussione italiano All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum