Go信号操作
作用
- 可以用来阻止Ctrl+c关闭程序
- Web应用可以在收到Ctrl+c阻止新的请求进入,等待所有进入请求处理完成退出程序
package mainimport (\"fmt\"\"os\"\"os/signal\"\"syscall\")func main() {// 监听处理信号go SignalHandle()// 防止main执行完毕退出select {}}func SignalHandle() {for {ch := make(chan os.Signal)signal.Notify(ch, syscall.SIGINT)sig := <-chfmt.Printf(\"收到信号:%d %s\\n\", sig, sig.String())switch sig {case syscall.SIGINT:os.Exit(1)}}}