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