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の一部です。