官方描述:

Notify函数让signal包将输入信号转发到c。如果没有列出要传递的信号,会将所有输入信号传递到c;否则只传递列出的输入信号。

signal包不会为了向c发送信息而阻塞(就是说如果发送时c阻塞了,signal包会直接放弃):调用者应该保证c有足够的缓存空间可以跟上期望的信号频率。对使用单一信号用于通知的通道,缓存为1就足够了

ch := make(chan os.Signal, 1)
signal.Notify(ch, syscall.SIGHUP, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGSTOP, syscall.SIGUSR1)
for {
s := <-ch
switch s {
case syscall.SIGQUIT:
log.Infof("SIGSTOP")
return
case syscall.SIGSTOP:
log.Infof("SIGSTOP")
return
case syscall.SIGHUP:
log.Infof("SIGHUP")
return
case syscall.SIGKILL:
log.Infof("SIGKILL")
return
case syscall.SIGUSR1:
log.Infof("SIGUSR1")
return
default:
log.Infof("default")
return
}
}

以上代码告诉 signal ,将对应的信号通知 ch,然后在 for 循环中针对不同信号做不同的处理, for 循环为死循环

最新文章

  1. img的onerror事件(瑕疵+解决办法)【转】
  2. Install R &amp; RStudio for Ubuntu
  3. sp_executesql的执行计划会被重用(转载)
  4. C语言中字符数组和字符串指针分析
  5. 更新证书错误Code Sign error: Provisioning profile ‘XXXX&#39;can&#39;t be found
  6. IOS项目集成ShareSDK实现第三方登录、分享、关注等功能(备用)
  7. linux下挂载iso镜像的方法
  8. Arc engine - Geodatabase.
  9. Codeforces Round #350 (Div. 2)解题报告
  10. 初识markdown以及markdown的常用语法
  11. Async/Await替代Promise的6个理由
  12. GitHub入门之路(1)
  13. 较复杂makefile跟lds脚本程序的编写
  14. eclipse中jetty插件安装
  15. trie上记忆化搜索,括号匹配——cf1152D好题!
  16. VSCode打开多个项目文件夹的解决方法
  17. 翻译:ZooKeeper OverView
  18. 用jQuery和Json实现Ajax异步请求
  19. C++解析十-数据封装
  20. Spring源码-循环依赖源码解读

热门文章

  1. Qt从实习到搬砖
  2. 浅谈字节码增强技术系列2-Asm与Cglib
  3. Spring之后置处理器
  4. element-ui中table组件的表格嵌套Select,table中使用select
  5. (6)go-micro微服务consul配置、注册中心
  6. (7)go-micro微服务zap日志配置
  7. day03-Spring管理Bean-IOC-01
  8. python利用matplotlib生成迷宫
  9. doc指令
  10. Ubuntu 22.04 安装 utools 时的疑难杂症