1. 程式人生 > >go signal簡單示例

go signal簡單示例

package main

import (
	"fmt"
	"os"
	"os/signal"
	"syscall"
)

func main() {
	fmt.Println("main is running")
	sc := make(chan os.Signal, 1)
	signal.Notify(sc,
		syscall.SIGINT,
		syscall.SIGTERM,
		syscall.SIGQUIT)

	sig := <-sc
	fmt.Printf("Server Got signal [%d] to exit\n", sig)
}

         阻塞等待後執行ctrl+c, 如下:

main is running
^CServer Got signal [2] to exit

        不多說。