exit.go 396 B

12345678910111213141516171819202122
  1. package utils
  2. import (
  3. "crm-api/pkg/lfshook"
  4. "os"
  5. "os/signal"
  6. "syscall"
  7. )
  8. func Exit() {
  9. sigs := make(chan os.Signal, 1)
  10. done := make(chan bool, 1)
  11. // syscall.SIGSTOP windows not support
  12. signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)
  13. go func() {
  14. <-sigs
  15. done <- true
  16. }()
  17. lfshook.NewLogger().Info("Server Start Awaiting Signal")
  18. <-done
  19. lfshook.NewLogger().Info("Exiting")
  20. }