go-signal

고언어에서 os signal 을 콘트롤 하는 방법을 찾아보았다. package main import ( "fmt" "os" "os/signal" "syscall" "time" ) func main() { // signal 채널을 만든다. signal_chan := make(chan os.Signal, 2) signal.Notify(signal_chan, syscall.SIGINT) // ctrl+c // loop isDone := false for isDone != true { // signal handler select { case sig := <-signal_chan: fmt.Println("signal!! ", sig) isDone = true default: isDone = false } time.Sleep(1) } } 채널을 통해서 signal을 전달하게 된다.
Read more...