signal_unix.go 313 B

12345678910111213141516171819202122
  1. //go:build !windows && !plan9
  2. package shell
  3. import (
  4. "fmt"
  5. "io"
  6. "os"
  7. "syscall"
  8. "src.elv.sh/pkg/sys"
  9. )
  10. func handleSignal(sig os.Signal, stderr io.Writer) {
  11. switch sig {
  12. case syscall.SIGHUP:
  13. syscall.Kill(0, syscall.SIGHUP)
  14. os.Exit(0)
  15. case syscall.SIGUSR1:
  16. fmt.Fprint(stderr, sys.DumpStack())
  17. }
  18. }