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 的一部分。