12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package main
- import (
- "fmt"
- _ "github.com/gogf/gf/contrib/drivers/mysql/v2"
- "github.com/gogf/gf/v2/os/gctx"
- _ "nodeMonitor/internal/logic"
- _ "nodeMonitor/internal/packed"
- "nodeMonitor/internal/task/cmd"
- "os"
- "os/signal"
- "syscall"
- "time"
- )
- func main() {
- cmd.TaskMain.Run(gctx.New())
- Exit()
- }
- func Exit() {
- c := make(chan os.Signal)
- //监听指定信号 ctrl+c kill
- signal.Notify(c, syscall.SIGHUP, syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT, syscall.SIGUSR1, syscall.SIGUSR2)
- go func() {
- for s := range c {
- switch s {
- case syscall.SIGHUP, syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT:
- fmt.Println("退出", s)
- ExitFunc()
- case syscall.SIGUSR1:
- fmt.Println("usr1", s)
- case syscall.SIGUSR2:
- fmt.Println("usr2", s)
- default:
- fmt.Println("other", s)
- }
- }
- }()
- fmt.Println("进程启动...")
- for {
- time.Sleep(time.Second)
- }
- }
- func ExitFunc() {
- fmt.Println("开始退出...")
- fmt.Println("执行清理...")
- fmt.Println("结束退出...")
- os.Exit(0)
- }
|