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