Fork (Unix)

fork() er et systemkall i Unix-liknende operativsystemer som en prosess 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.

fork() har vært tilgjengelig siden den første utgaven av Unix i 1971.

 Kode-eksempel 

/* 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");  
   }
  }

 Referanser 

Kategori:POSIX systemkall
Kategori:Linuxkjernen