Hopp til innhold

Fork (Unix)

Fra Wikipedia, den frie encyklopedi

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.[1]

Kode-eksempel

[rediger | rediger kilde]
/* 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

[rediger | rediger kilde]
  1. ^ Thompson, K. og Ritchie, D.M. (3. november 1971). «Unix Programmer's Manual» (PDF). Bell Labs. Besøkt 30. mai 2016.