Skip to content

Instantly share code, notes, and snippets.

@djberg96
Created April 30, 2021 20:44
Show Gist options
  • Select an option

  • Save djberg96/669d0abd4ff679bd81d0f31de231d864 to your computer and use it in GitHub Desktop.

Select an option

Save djberg96/669d0abd4ff679bd81d0f31de231d864 to your computer and use it in GitHub Desktop.
package main
import(
"fmt"
"os"
"os/signal"
"syscall"
"time"
)
func handle(signal os.Signal){
fmt.Println("Received:", signal)
}
func main(){
sigs := make(chan os.Signal, 1)
signal.Notify(sigs)
go func() {
for {
sig := <-sigs
switch sig {
case os.Interrupt:
handle(sig)
case syscall.SIGTERM:
handle(sig)
os.Exit(0)
case syscall.SIGUSR2:
fmt.Println("Handling syscall.SIGUSR2!")
default:
fmt.Println("Ignoring:", sig)
}
}
}()
for {
fmt.Printf(".")
time.Sleep(30 * time.Second)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment