diff --git a/main.go b/main.go new file mode 100644 index 0000000..de45693 --- /dev/null +++ b/main.go @@ -0,0 +1,19 @@ +package sigchan + +import ( + "fmt" + "log" + "os" + "os/signal" +) + +// SigChan listens for os interrupt signals and gracefully exits the program. +func SigChan() { + sigchan := make(chan os.Signal, 10) + signal.Notify(sigchan, os.Interrupt) + <-sigchan + fmt.Println() + log.Println("Received CTRL+C interrupt. Program killed!") + + os.Exit(0) +}