Updated:

less than 1 minute read

예제

  • 코드
     package main
        
     import (
     	"fmt"
     	"os"
     	"os/signal"
     	"syscall"
     )
        
     func main() {
     	signals := make(chan os.Signal)
     	signal.Notify(signals, syscall.SIGINT, syscall.SIGTERM)
        
     	done := make(chan bool)
        
     	go func() {
     		println("job")
     		done <- true
     	}()
        
     	fmt.Println("\n", <-signals)
        
     	<-done
        
     	println("end")
     }
    
  • 실행 결과
    • ctrl-C (^C) 입력
       job
       ^C
      interrupt
       end