Section courante

A propos

Section administrative du site

FPFORK

«Fork» de Free Pascal
Free Pascal BaseUnix

Syntaxe

Function FpFork:TPid;

Description

Cette fonction permet de créer un processus enfant.

Remarque

Exemples

Voici un exemple montrant comment lancer un processus fils :

  1. Program FpForkSamples;
  2.  
  3. Uses BaseUnix;
  4.  
  5. Var
  6.  pid:TPid;
  7.  SL:cint;
  8.  
  9. BEGIN
  10.  pid := FpFork;
  11.  If(pid = 0)Then Begin
  12.   WriteLn('Le programme parent!');
  13.  End
  14.   Else
  15.  Begin
  16.   WriteLn('Le programme fils!');
  17.   Exit;
  18.  End;
  19.  Fpwait(SL);
  20.  WriteLn('Fin!');
  21. END.

on obtiendra le résultat suivant :

Le programme parent!
Le programme fils!
Fin!

Voici un exemple montrant comment lancer deux processus fils :

  1. Program FpForkSamples2;
  2.  
  3. Uses BaseUnix;
  4.  
  5. Var
  6.  MainPID:TPid;
  7.  SL:cint;
  8.  
  9. BEGIN
  10.  If FpFork <> 0 Then Begin
  11.   MainPID := FpFork;
  12.   If(MainPID <> 0)Then Begin
  13.    WriteLn('Le programme parent!');
  14.   End
  15.    else
  16.   Begin
  17.    WriteLn('Le programme fils 2!');
  18.    Exit;
  19.   End;
  20.  End
  21.   else
  22.  Begin
  23.   WriteLn('Le programme fils 1!');
  24.   Exit;
  25.  End;
  26.  FpWaitPID(MainPID,SL,0);
  27.  WriteLn('Fin!');
  28. END.

on obtiendra le résultat suivant :

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

Voir également

Articles - Fork bomb

Dernière mise à jour : Samedi, le 18 juillet 2015