github.com/gogf/gf@v1.16.9/.example/os/gproc/signal/signal_handler_gproc.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "github.com/gogf/gf/os/gproc" 6 "os" 7 "time" 8 ) 9 10 func signalHandlerForMQ(sig os.Signal) { 11 fmt.Println("MQ is shutting down due to signal:", sig.String()) 12 time.Sleep(time.Second) 13 fmt.Println("MQ is shut down smoothly") 14 } 15 16 func signalHandlerForMain(sig os.Signal) { 17 fmt.Println("MainProcess is shutting down due to signal:", sig.String()) 18 } 19 20 func main() { 21 fmt.Println("Process start, pid:", os.Getpid()) 22 gproc.AddSigHandlerShutdown( 23 signalHandlerForMQ, 24 signalHandlerForMain, 25 ) 26 gproc.Listen() 27 }