Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Chiamate di sistema fork() e exec()

    codice:
        pid = fork();
        if (pid > 0)
           codice-A;
    
    
        else if (pid == 0)
           exec("eseguibile-B");
    
    
        else
            codice-C;
    
    
        codice-D
    Perchè l'affermazione il processo figlio col PID == 0 esegue sempre l'eseguibile B e non esegue mai il codice D è falsa?? Non dovrebbe essere vera?
    « Una volta eliminato l'impossibile, ciò che resta, per quanto improbabile, deve essere la verità. (Sherlock Holmes) »

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Se la chiamata exec("eseguibie-B") è da intendersi come pseudo-codice di una generica chiamata corretta ad una qualsiasi delle funzioni della famiglia exec*, allora l'affermazione è vera, dato che

    The exec() family of functions replaces the current process image
    with a new process image.
    Il processo figlio (con pid == 0) arriva ad eseguire "codice-D" solo se la suddetta chiamata fallisce.
    Ultima modifica di YuYevon; 25-01-2015 a 13:53
    every day above ground is a good one

  3. #3
    volevi dire esegue il codice-D nel caso in cui la chiamata fallisce?
    « Una volta eliminato l'impossibile, ciò che resta, per quanto improbabile, deve essere la verità. (Sherlock Holmes) »

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    esattamente; correggo il post
    every day above ground is a good one

  5. #5
    Grazie mille per la risposta ed anche per la pagina che hai linkato.
    « Una volta eliminato l'impossibile, ciò che resta, per quanto improbabile, deve essere la verità. (Sherlock Holmes) »

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.