(cancel context.CancelFunc)
| 61 | } |
| 62 | |
| 63 | func exitSignal(cancel context.CancelFunc) { |
| 64 | sigs := make(chan os.Signal, 1) |
| 65 | signal.Notify(sigs, syscall.SIGHUP, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT) |
| 66 | for sig := range sigs { |
| 67 | switch sig { |
| 68 | case syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT: |
| 69 | cancel() |
| 70 | fmt.Println("Bye!") |
| 71 | os.Exit(0) |
| 72 | case syscall.SIGHUP: |
| 73 | fmt.Println("+++++++++++++++++++++++++++++") |
| 74 | default: |
| 75 | fmt.Println(sig) |
| 76 | } |
| 77 | } |
| 78 | } |