Sobes.tech
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.