Go Wiki:SignalHandling
简介
有时,应用程序需要在退出前保存内部状态或执行一些清理活动,或者需要能够按需重新加载配置文件或编写内存/CPU 配置文件。在类 UNIX 操作系统中,信号可以完成这些任务。
示例
以下代码演示了一个程序,该程序等待中断信号并在发生中断信号时删除一个临时文件。
package main
import (
"io/ioutil"
"os"
"os/signal"
)
func main() {
f, err := ioutil.TempFile("", "test")
if err != nil {
panic(err)
}
defer os.Remove(f.Name())
defer f.Close()
sig := make(chan os.Signal, 1)
signal.Notify(sig, os.Interrupt)
<-sig
}
此内容是 Go Wiki 的一部分。