Sobes.tech
Junior — Middle

Comment peut-on isoler et lancer un processus séparé dans le langage Go?

sobes.tech IA

Réponse de l'IA

En Go, pour lancer un processus séparé (au sens du système d'exploitation), on utilise le paquet os/exec. Avec lui, on peut créer et lancer un nouveau processus, par exemple, exécuter une commande externe ou un programme.

Exemple d'exécution de la commande ls -la:

package main

import (
    "fmt"
    "os/exec"
)

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

Si l'on parle d'exécution parallèle du code à l'intérieur du programme, en Go, on utilise les goroutines (go func() { ... }()). Mais une goroutine n'est pas un processus séparé, c'est un fil léger à l'intérieur d'un processus.

Ainsi, pour réserver et lancer un processus séparé, il faut utiliser os/exec.