Junior — Middle
Da li je moguće kreirati novi proces putem mehanizma fork u jeziku Go?
sobes.tech АИ
Одговор од АИ
U jeziku Go ne postoji ugrađeni mehanizam fork, kao u Unix-sličnim sistemima na nivou sistemskih poziva. Go je usredsređen na korišćenje gorutina za konkurentno izvršavanje i pruža paket os/exec za pokretanje novih procesa.
Ako je potrebno kreirati novi proces, obično se koristi exec.Command za pokretanje spoljnog programa, umesto fork trenutnog procesa.
Primer pokretanja novog procesa:
cmd := exec.Command("ls", "-la")
output, err := cmd.Output()
if err != nil {
log.Fatal(err)
}
fmt.Println(string(output))
Na ovaj način, operacija fork, kao u C ili Unix API, ne primenjuje se direktno u Go; umesto toga, pokreću se novi procesi putem exec ili se koristi konkurentnost sa gorutinama.