Section courante

A propos

Section administrative du site

FORK

Fourchette
Perl
POSIX

Syntaxe

sub POSIX::fork();

Description

Cette fonction permet de créer un processus fils.

Exemple

Voici un exemple montrant comment lancer un processus fils :

  1. #!/usr/bin/perl
  2.  
  3. use POSIX;
  4.  
  5. $pid = POSIX::fork();
  6. if($pid) {
  7.    print "Le programme parent!\n";
  8. } else {
  9.    print "Le programme fils!\n";
  10.    exit(0);
  11. }
  12.  
  13. POSIX::wait();
  14. print "Fin!";

on obtiendra le résultat suivant :

Le programme parent!
Le programme fils!
Fin!

Voici un exemple montrant comment lancer deux processus fils :

  1. #!/usr/bin/perl
  2.  
  3. use POSIX;
  4.  
  5. if(POSIX::fork()) {
  6.   $MainPID = POSIX::fork();
  7.   if($MainPID) {
  8.      print "Le programme parent!\n";
  9.   } else {
  10.      print "Le programme fils 2!\n";
  11.      exit(0);
  12.   }
  13. } else {
  14.   print "Le programme fils 1!\n";
  15.   exit(0);
  16. }
  17.  
  18. POSIX::waitpid($MainPID,0);
  19. print "Fin!\n";

on obtiendra le résultat suivant :

Le programme parent!
Le programme fils 1!
Le programme fils 2!
Fin!

Voir également

Articles - Fork bomb
Langage de programmation - Perl - Référence de procédures et fonctions - fork
Langage de programmation - Fonction C pour Linux - fork

Dernière mise à jour : Dimanche, le 18 octobre 2015