Sobes.tech
Junior — Middle

Kā izcelt un palaist atsevišķu procesu Go valodā?

sobes.tech AI

Atbilde no AI

Go valodā, lai palaistu atsevišķu procesu (operētājsistēmas nozīmē), tiek izmantots os/exec pakotne. Ar tās palīdzību var izveidot un palaist jaunu procesu, piemēram, izpildīt ārēju komandu vai programmu.

Piemērs, kā palaist komandu ls -la:

package main

import (
    "fmt"
    "os/exec"
)

func main() {
    cmd := exec.Command("ls", "-la")
    output, err := cmd.CombinedOutput()
    if err != nil {
        fmt.Println("Kļūda:", err)
        return
    }
    fmt.Println(string(output))
}

Ja runa ir par paralēlu koda izpildi programmas iekšienē, Go valodā tiek izmantotas gorutīnas (go func() { ... }()). Bet gorutīna nav atsevišķs process, tā ir viegla pavediena plūsma vienā procesā.

Tādēļ, lai rezervētu un palaistu atsevišķu procesu, ir jāizmanto os/exec.