suspend_unix.go 266 B

1234567891011121314151617181920
  1. //go:build unix
  2. package app
  3. import (
  4. "os"
  5. "os/signal"
  6. "syscall"
  7. )
  8. func (a *App) suspend() {
  9. a.inner.Suspend(func() {
  10. c := make(chan os.Signal, 1)
  11. signal.Notify(c, syscall.SIGCONT)
  12. defer signal.Stop(c)
  13. _ = syscall.Kill(0, syscall.SIGTSTP)
  14. <-c
  15. })
  16. }