Junior — Middle
Как може да се отдели и стартира отделен процес в езика Go?
sobes.tech AI
Отговор от AI
В Go за стартиране на отделен процес (в смисъл на операционната система) се използва пакетът os/exec. С неговата помощ може да се създаде и стартира нов процес, например да се изпълни външна команда или програма.
Пример за стартиране на командата ls -la:
package main
import (
"fmt"
"os/exec"
)
func main() {
cmd := exec.Command("ls", "-la")
output, err := cmd.CombinedOutput()
if err != nil {
fmt.Println("Грешка:", err)
return
}
fmt.Println(string(output))
}
Ако става дума за паралелно изпълнение на код вътре в програмата, в Go се използват горутините (go func() { ... }()). Но горутината не е отделен процес, а лек поток вътре в един процес.
Затова за резервиране и стартиране на отделен процес трябва да се използва os/exec.