Advertisement
Guest User

Untitled

a guest
Mar 24th, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.37 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "fmt"
  5. "os"
  6. "os/signal"
  7. "syscall"
  8. )
  9.  
  10. func main() {
  11. done := make(chan bool, 1)
  12. kill := make(chan os.Signal, 1)
  13.  
  14. signal.Notify(kill, syscall.SIGINT, syscall.SIGTERM)
  15.  
  16. go get(kill, done)
  17. <-done
  18.  
  19. }
  20.  
  21. func get(kill chan os.Signal, done chan<- bool) {
  22. for {
  23. select {
  24. case <-kill:
  25. fmt.Println("process interrupted")
  26. done <- true
  27. return
  28. }
  29. }
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement