Fork

Fra Wikipedia, den frie encyklopedi
Gå til: navigasjon, søk

Fork() er et systemkall i Unix-liknende operativsystemer som en prosesss kan bruke for å kopiere seg selv. Fork() kallet oppretter en ny barneprosess (child), som er en eksakt kopi av den prosessen det blir kalt fra (parent), men med sitt eget separate adresseområde. Man kan så benytte den nye tråden til å utføre en annen oppgave, f.eks starte et delprogram eller lignende.

/* Kodeeksempel i C med bruk av fork()- hvor ny prosess starter firefox */
 
 #include <stdio.h>
 #include <unistd.h>
 
  pid_t = pid; // oppretter variabel som holder parent-pid (prosess identification number)
 
  pid = fork();    // lager kopi av nåværende prosess
 
  if (pid == 0 ) // forutsetning for at man er i child. 
   {
     printf("This is Child talking, child will now start Firefox for you..."); 
     system("Firefox");  
   }
  }