Junior — Middle
Ako vyčleniť a spustiť samostatný proces v jazyku Go?
sobes.tech AI
Odpoveď od AI
V Go-u, za spustenie samostatného procesu (z pohľadu operačného systému) sa používa balík os/exec. S jeho pomocou je možné vytvoriť a spustiť nový proces, napríklad vykonať externý príkaz alebo program.
Príklad spustenia prí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))
}
Ak ide o paralelné vykonávanie kódu vnútri programu, v Go sa používajú gorutiny (go func() { ... }()). Ale gorutina nie je samostatný proces, je to ľahký vlákno v rámci jedného procesu.
Preto na rezerváciu a spustenie samostatného procesu je potrebné použiť os/exec.