The following test program is working fine on my linux machine, but it is not working on my windows machine
package main
import (
"fmt"
"os"
"os/signal"
"syscall"
"time"
)
func main() {
detectShutdown()
fmt.Println("Running")
time.Sleep(5 * time.Second)
}
func detectShutdown() {
sigChan := make(chan os.Signal, 1)
signal.Notify(sigChan, syscall.SIGINT)
go func() {
sig := <-sigChan
fmt.Printf("Signal [%s] detected\n", sig)
os.Exit(1)
}()
}
Output on linux
Running
^CSignal [interrupt] detected
Output on Windows
Running
Anyone has idea on how to make it works on Windows? Thanks