Go signals 信号
2015-06-01 21:43
447 查看
Go中通过os/signals包,可以接受系统信号。
输出结果:
awaiting signal
^Cexiting
运行后输awaiting signal,然后卡住。当在键盘上按control+c以后go收到SIGINT信息,向sigs channel中添加信号,<-sigs处停止阻塞,程序执行结束。
此特性一般用来正常的退出程序,收到信息号,程序执行一系列的清理工作,然后退出。
package main import "fmt" import "os" import "os/signal" import "syscall" func main() { sigs := make(chan os.Signal, 1) signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM) fmt.Println("awaiting signal") <-sigs fmt.Println("exiting") }
输出结果:
awaiting signal
^Cexiting
运行后输awaiting signal,然后卡住。当在键盘上按control+c以后go收到SIGINT信息,向sigs channel中添加信号,<-sigs处停止阻塞,程序执行结束。
此特性一般用来正常的退出程序,收到信息号,程序执行一系列的清理工作,然后退出。
相关文章推荐
- Go 环境变量相关操作
- Go命令行参数解析flag包
- setjmp和longjmp goto应用
- 1.2 reverse a C-Style String
- 解決google在scroll裡左右拖動的問題
- GoogleCodeJam2015第二轮
- Go的pprof使用
- Golang Channel用法简编
- 一个有关Golang变量作用域的坑
- Goroutine是如何工作的
- Go语言是如何处理栈的
- django中url,静态文件,POST请求的配置
- django中url,静态文件,POST请求的配置
- Go语言学习笔记(一) : 搭建Windows下的Go开发环境
- mode_t 内核文件权限值 S_IRUGO=S_IRUSR | S_IRGRP | S_IROTH
- WordPress-当文章属于两个或多个分类时,使其在不同的分类使用不同文章模板的方法
- 探寻Google Photos无限免费的“真相”
- AMD Launches The A10-7870K "Godavari" APU
- 10618 - Tango Tango Insurrection