clone()er et systemkall av Linux-kjernen som skapte en prosess sønn har samme utførelse sammenheng at hans far (samme adresse plass). Den brukes av noen biblioteker som implementerer tråder under Linux. I praksis clone()kalles det aldri direkte, men gjennom et trådadministrasjonsbibliotek (for eksempel pthreads , som gir funksjonen phtread_create()).
Prototypen til denne funksjonen er som følger:
#include <sched.h> int clone (int (*fn) (void *), void *child_stack, int flags, void *arg);clone()oppretter en ny tråd som utfører funksjonen som parameteren peker på fn(det motsatte av fork()der kjøringen fortsetter i neste setning). Parameteren child_stacker en peker til minneplassen som brukes som en stabel for den nye kjøringstråden (som først må tildeles ved en samtale til malloc() ; den må peke til det siste minnesporet). Parameteren flagsspesifiserer hva barnet skal arve fra foreldrenes utførelseskontekst. Parameteren arger en generisk peker for å overføre argumenter til funksjonen fn. Denne samtalen returnerer tråd-ID-en til barnet ved suksess, eller -1 ved fiasko (og errnoverdsettes deretter).
Merk at dette systemanropet er spesifikt for Linux-kjernen og ikke skal brukes i kode som skal kompileres for andre kjerner.