Junior — Middle
Cum se poate evidenția și porni un proces separat în limbajul Go?
sobes.tech AI
Răspuns de la AI
În Go, pentru a porni un proces separat (în sensul sistemului de operare), se folosește pachetul os/exec. Cu acesta, se poate crea și porni un proces nou, de exemplu, executarea unei comenzi externe sau a unui program.
Exemplu de rulare a comenzii ls -la:
package main
import (
"fmt"
"os/exec"
)
func main() {
cmd := exec.Command("ls", "-la")
output, err := cmd.CombinedOutput()
if err != nil {
fmt.Println("Eroare:", err)
return
}
fmt.Println(string(output))
}
Dacă vorbim despre executarea paralelă a codului în interiorul programului, în Go se folosesc goroutine-urile (go func() { ... }()). Dar o goroutine nu este un proces separat, ci un fir de execuție ușor în interiorul unui proces.
Prin urmare, pentru rezervarea și pornirea unui proces separat, trebuie folosit os/exec.