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.