signal.go 432 B

12345678910111213141516171819202122232425262728293031
  1. //go:build linux || darwin || freebsd
  2. // +build linux darwin freebsd
  3. package main
  4. import (
  5. "log"
  6. "os"
  7. "os/signal"
  8. "syscall"
  9. kcp "github.com/johnsonjh/gfcp"
  10. )
  11. func init() {
  12. go sigHandler()
  13. }
  14. func sigHandler() {
  15. ch := make(chan os.Signal, 1)
  16. signal.Notify(ch, syscall.SIGUSR1)
  17. signal.Ignore(syscall.SIGPIPE)
  18. for {
  19. switch <-ch {
  20. case syscall.SIGUSR1:
  21. log.Printf("GFCP SNSI:%+v", kcp.DefaultSnsi.Copy())
  22. }
  23. }
  24. }