Visualizzazione dei risultati da 1 a 4 su 4

Discussione: fork

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460

    fork

    ho bisogni di forkare circa un 100naio di processi figli, che devono salvare dei file (uno per figlio), poi il programma padre deve aspettare che tutti i figli abbiano finito di macinare e proseguire con le operazioni.

    come posso fare per far attendere il programma padre ?

  2. #2
    wait() con for?

    Non lo so, è da parecchio che non forko XD
    ...

  3. #3
    questo è un esempio di padre che genera due figli che terminano dopo differente tempo. Il padre attende la fine di entrmabi per finire:

    if (fork() && fork()) { # se è padre...
    print "aspetto il figlio\n";
    wait();
    print "Il figlio ha finito\n";
    wait();
    print "Il figlio ha finito\n";
    sleep 2;
    exit();
    } else { # Vengono generati due figli!
    print "Aspetto rand() secondi ed esco\n";
    sleep int(rand()*15)+3;
    exit;
    }

    nel tuo caso potresti fare un for che faccia 100 wait!
    ciao
    ...

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460
    ho trovato un modulo che si chiama Parallel::ForkManager

    tu gli dici quanti figli aprire e fa tutto lui, molto comodo..

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.