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
不多说。
本文介绍了一个使用Go语言编写的简单程序,演示了如何利用信号包处理操作系统信号,如SIGINT、SIGTERM和SIGQUIT,使程序能够优雅地响应外部终止请求。

被折叠的 条评论
为什么被折叠?



