Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index International Gentoo Users Forum italiano (Italian) Forum di discussione italiano
  • Search

Fork, Wait, Exec

Tutte le discussioni direttamente correlabili all'informatica e/o a GNU/*nix.

Moderator: ago

Post Reply
  • Print view
Advanced search
9 posts • Page 1 of 1
Author
Message
Realnot
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 120
Joined: Mon May 28, 2007 6:48 am
Location: Ferrara
Contact:
Contact Realnot
Website

Fork, Wait, Exec

  • Quote

Post by Realnot » Mon Apr 22, 2013 2:03 pm

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: Select all

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...
Top
pierino_89
Guru
Guru
User avatar
Posts: 524
Joined: Sat Oct 03, 2009 11:36 am

Re: Fork, Wait, Exec

  • Quote

Post by pierino_89 » Tue Apr 23, 2013 12:35 am

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: Select all

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:
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
Top
ago
Developer
Developer
User avatar
Posts: 1527
Joined: Sat Mar 01, 2008 2:31 pm
Location: Milan, Italy

Re: Fork, Wait, Exec

  • Quote

Post by ago » Tue Apr 23, 2013 7:32 am

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
Top
pierino_89
Guru
Guru
User avatar
Posts: 524
Joined: Sat Oct 03, 2009 11:36 am

  • Quote

Post by pierino_89 » Tue Apr 23, 2013 11:18 am

Giusto, scusa ma ieri ero un po' fuso :)
Linux registered user 461710
Top
Realnot
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 120
Joined: Mon May 28, 2007 6:48 am
Location: Ferrara
Contact:
Contact Realnot
Website

  • Quote

Post by Realnot » Fri Apr 26, 2013 12:59 pm

Ciao, scusa per il ritardo, ci sono, non capisco che diavolo e' quel 738...
I'm not stupid, only mentally free...
Top
pierino_89
Guru
Guru
User avatar
Posts: 524
Joined: Sat Oct 03, 2009 11:36 am

  • Quote

Post by pierino_89 » Sat Apr 27, 2013 11:56 am

Realnot wrote:Ciao, scusa per il ritardo, ci sono, non capisco che diavolo e' quel 738...
Te l'ho detto poco fa:
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/li ... /wait.html
Linux registered user 461710
Top
Realnot
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 120
Joined: Mon May 28, 2007 6:48 am
Location: Ferrara
Contact:
Contact Realnot
Website

  • Quote

Post by Realnot » Mon Apr 29, 2013 11:52 am

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...
Top
pierino_89
Guru
Guru
User avatar
Posts: 524
Joined: Sat Oct 03, 2009 11:36 am

  • Quote

Post by pierino_89 » Mon Apr 29, 2013 12:09 pm

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
Top
Realnot
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 120
Joined: Mon May 28, 2007 6:48 am
Location: Ferrara
Contact:
Contact Realnot
Website

  • Quote

Post by Realnot » Mon Apr 29, 2013 12:15 pm

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...
Top
Post Reply
  • Print view

9 posts • Page 1 of 1

Return to “Forum di discussione italiano”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic