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.