Aller au contenu

Signaux

Le package os/signal permet aux programmes Go de recevoir des signaux Unix (par exemple SIGINT, SIGTERM). Cela est utilisé pour un arrêt gracieux.

Capturer Ctrl+C et afficher un message avant de quitter.

package main
import (
"fmt"
"os"
"os/signal"
"syscall"
)
func main() {
sigs := make(chan os.Signal, 1)
signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)
fmt.Println("En attente d'un signal...")
s := <-sigs
fmt.Println("Signal reçu :", s)
}
Fenêtre de terminal
En attente d'un signal...
Signal reçu : interrupt