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