Sobes.tech
Junior — Middle

Como se pode destacar e iniciar um processo separado na linguagem Go?

sobes.tech IA

Resposta da IA

Em Go, para iniciar um processo separado (no sentido do sistema operativo), usa-se o pacote os/exec. Com ele, é possível criar e iniciar um novo processo, por exemplo, executar um comando externo ou um programa.

Exemplo de execução do comando ls -la:

package main

import (
    "fmt"
    "os/exec"
)

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

Se a questão for sobre execução paralela de código dentro do programa, em Go, usa-se as goroutines (go func() { ... }()). Mas uma goroutine não é um processo separado, é uma thread leve dentro de um processo.

Portanto, para reservar e iniciar um processo separado, deve-se usar os/exec.