該包中的所有函式,都是處理os.signal
的,os.signal
用於接受各種型別的訊號,比如中斷、程式終止等,這些訊號的具體作用可以參考: 中的介紹。我們根據需要使用中斷,可以控制程式執行時間等。
針對linux/unix系統處理訊號,有些類似c語言方式,具體可以回顧這篇筆記.
啟動乙個訊號的作用,c
不一定是只寫的,可以是讀寫都行的channel
,自動的進行型別轉換。
func
notify
(c chan
<- os.signal, sig ...os.signal)
該函式使得c
這個os.signal
接收指定型別的訊號,如果不宣告來的型號的型別,則預設接收所有的訊號,**例項:
package main
import
("fmt"
"os"
"os/signal"
"time"
)var chsignal chan os.signal
func
dealsignal()
}func
main()
}
該函式使得應用程式忽略指定的來臨訊號,如果沒有指定訊號,則忽略所有的訊號。
func
ignore
(sig ...os.signal)
package main
import
("os"
"os/signal"
"fmt"
)func
main()
撤銷之之前指定程式能接收的訊號,但是可以重新使用notify
指定接收的訊號。
func
reset
(sig ...os.signal)
該函式是c
停止接受所有的訊號,撤銷之前對c
的notify
函式的作用,保證c
不會接受其餘的訊號了,即不能呼叫notify
為之重新指定訊號。
func
stop
(c chan
<- os.signal)
golang 訊號捕捉和處理
捕捉和處理訊號可以實現優雅start和restart等。golang的signal提供了相關的方法。這裡是乙個模板,目錄結構 sig sig.go test.go 先看如何呼叫 1.new出乙個物件 2.register訊號與對應的處理函式 3.定義os.signal型別的channel,呼叫sig...
Golang中的訊號處理
個平台的訊號定義或許有些不同。下面列出了posix中定義的訊號。linux 使用34 64訊號用作實時系統中。命令man 7 signal提供了官方的訊號介紹。在posix.1 1990標準中定義的訊號列表訊號值 動作說明 sighup 1term 終端控制程序結束 終端連線斷開 sigint 2t...
Golang中的訊號處理
linux 使用34 64訊號用作實時系統中。命令man 7 signal提供了官方的訊號介紹。在posix.1 1990標準中定義的訊號列表訊號值 動作說明 sighup 1term 終端控制程序結束 終端連線斷開 sigint 2term 使用者傳送intr字元 ctrl c 觸發 sigqui...