请教各位大佬,go 的信号,为什么像是拦截啊
一但监控到指定信号,处理完之后,后续的代码还是会执行
比如这里我想监听到 ctrl+c 之后释放资源,程序结束,但是最后还是会输出
ps:不要说 os.Exit() 因为这只是一个模块,可以启动多个,如果直接退出,那么其余的资源可能来不及释放
![image.png](https://static.golangjob.cn/230410/9172b5469012198fc318415ed761c297.png)
接收到 ctrl+c 之后仍然执行了 end 输出
![image.png](https://static.golangjob.cn/230410/546c88720ec6de1b92f5d35d177f905e.png)
信号只是系统给你的一个通知,具体接收到信号后要干什么要你自己实现的,不是说接收到了ctrl+c信号程序就自己退出了,操作系统是不会帮你退出程序的,要么你自己中断退出,要么程序执行结束了自己退出。
#6
更多评论