Sobes.tech
Назад к вопросам
Junior — Middle
76

Каким образом можно выделить и запустить отдельный процесс в языке Go?

Ответ от нейросети

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