Junior — Middle
Come si può evidenziare e avviare un processo separato nel linguaggio Go?
sobes.tech AI
Risposta dell'AI
In Go, per avviare un processo separato (nel senso del sistema operativo), si utilizza il pacchetto os/exec. Con questo, è possibile creare e avviare un nuovo processo, ad esempio eseguire un comando esterno o un programma.
Esempio di esecuzione del 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("Errore:", err)
return
}
fmt.Println(string(output))
}
Se si parla di esecuzione parallela di codice all’interno del programma, in Go si usano le goroutine (go func() { ... }()). Ma una goroutine non è un processo separato, è un thread leggero all’interno di un processo.
Pertanto, per riservare e avviare un processo separato, si deve usare os/exec.