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