-+  Associazione
-+  Documenti
 |-  Modern Perl
 |-  Bibliografia
 |-  Articoli
 |-  Talk
 |-  Perlfunc
 |-  F.A.Q.
 |-  F.A.Q. iclp
-+  Eventi
-+  Community
-+  Blog
-+  Link
Corso di Perl



 


Funzioni Perl in italiano

indietro

  • fork

    Effettua una chiamata di sistema a fork(2), al fine di creare un nuovo processo che esegua lo stesso programma a partire dal punto della chiamata. Restituisce il pid del figlio al processo genitore, 0 al processo figlio, oppure undef se la chiamata non ha successo. I descrittori dei file (ed a volte anche i lock su tali descrittori) vengono condivisi, mentre tutto il resto viene copiato. Sulla maggior parte dei sistemi che supportano fork(), l'efficienze è stata molto curata (per esempio, usando la tecnologia copy-on-write [copia-su-scrittura, NdT] sulle pagine dati), facendo di essa il paradigma dominante per il multitasking negli ultimi decenni.

    A partire dalla versione 5.6.0, Perl cercherà di completare le operazioni di scrittura su tutti i file aperti in output prima di effettuare il fork del processo figlio, ma ciò potrebbe non essere supportato su alcuni sistemi (consultate perlport). Per essere sicuri, potreste dover impostare $| ($AUTOFLUSH con il modulo English) o chiamare il metodo autoflush() di IO::Handle sugli eventuali handle aperti, così da evitare un output duplicato.

    Se utilizzate fork senza mai attendere i vostri figli, accumulerete zombie. Su alcuni sistemi, potete evitare ciò impostando $SIG{CHLD} a "IGNORE". Consultate anche perlipc per ulteriori esempi su fork e su come liberarsi dei figli moribondi.

    Va notato che se il figlio che avrete creato con fork eredita dei descrittori di file di sistema come STDIN e STDOUT che sono in realtà connessi da una pipe o un socket, anche se uscite, il server remoto (come, ad esempio, uno script CGI o un processo in background lanciato da una shell remota) non si accorgeranno che voi avete finito. Se ciò rappresenta un problema, dovrete riaprire tali descrittori verso /dev/null.

D:
Progetti e documenti in rilievo
Corso di Perl Progetto pod2it
D:
La ML di Perl.it
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per porre quesiti di tipo tecnico, per rimanere aggiornato su meeting, incontri, manifestazioni e novità su Perl.it.
Iscriviti!
D:
Annunci Google