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