2 回答

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個(gè)贊
接收信號(hào)
看一下os/signal包裝。
封裝信號(hào)實(shí)現(xiàn)對(duì)傳入信號(hào)的訪問。
文檔中甚至還有一個(gè)例子:
// Set up channel on which to send signal notifications.
// We must use a buffered channel or risk missing the signal
// if we're not ready to receive when the signal is sent.
c := make(chan os.Signal, 1)
signal.Notify(c, os.Interrupt, os.Kill)
// Block until a signal is received.
s := <-c
fmt.Println("Got signal:", s)
發(fā)送信號(hào)
要了解如何發(fā)送信號(hào),請看一看signal_test.go,它使用syscall. 例如 :
// Send this process a SIGHUP
t.Logf("sighup...")
syscall.Kill(syscall.Getpid(), syscall.SIGHUP)
waitSig(t, c, syscall.SIGHUP)

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊
我發(fā)現(xiàn)在 go i 中我們可以將環(huán)境傳遞給 syscall.Exec
err := syscall.Exec(argv0. os.Args. os.Environ())
只需將當(dāng)前 env 復(fù)制到子進(jìn)程。
- 2 回答
- 0 關(guān)注
- 284 瀏覽
添加回答
舉報(bào)