1 Star 1 Fork 0

妙音/oils

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
signal.go 558 Bytes
一键复制 编辑 原始数据 按行查看 历史
miaoyin 提交于 2022-04-01 11:24 +08:00 . refactor: lint
package oss
import (
"os"
"os/signal"
"syscall"
"gitee.com/xuender/oils/logs"
)
type closer interface {
Close() error
}
func SignalClose(closers ...closer) {
if len(closers) == 0 {
return
}
sigChan := make(chan os.Signal, 1)
// 监听指定信号 ctrl+c kill等
signal.Notify(sigChan, os.Interrupt, os.Kill, syscall.SIGHUP, syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT)
go func() {
logs.Infow("exit", "sig", <-sigChan)
for _, closer := range closers {
if err := closer.Close(); err != nil {
logs.Error(err)
}
}
}()
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/xuender/oils.git
git@gitee.com:xuender/oils.git
xuender
oils
oils
v1.1.23

搜索帮助