Junior — Middle
Jak lze v jazyce Go vyčlenit a spustit samostatný proces?
sobes.tech AI
Odpověď od AI
V jazyce Go se pro spuštění samostatného procesu (z pohledu operačního systému) používá balíček os/exec. S jeho pomocí lze vytvořit a spustit nový proces, například spustit externí příkaz nebo program.
Příklad spuštění příkazu ls -la:
package main
import (
"fmt"
"os/exec"
)
func main() {
cmd := exec.Command("ls", "-la")
output, err := cmd.CombinedOutput()
if err != nil {
fmt.Println("Chyba:", err)
return
}
fmt.Println(string(output))
}
Pokud se jedná o paralelní provádění kódu uvnitř programu, v jazyce Go se používají gorutiny (go func() { ... }()). Ale gorutina není samostatný proces, je to lehký vlákno uvnitř jednoho procesu.
Proto je třeba pro rezervaci a spuštění samostatného procesu použít os/exec.