2013-07-12 75 views

回答

3

你可以把它用os包做:

p, err := os.FindProcess(os.Getpid()) 
p.Signal(os.Interrupt) 

此外,你可以捕捉信號使用os/signal包發送到您的過程,該包允許您指定接收信號的通道:

c := make(chan os.Signal) 
signal.Notify(c, os.Interrupt) 
sig := <-c 
fmt.Printf("Got %s!\n", sig.String()) 

此實現不會在旅途中操場的工作,因爲它不會讓你輸入OS /信號,但是如果你在本地運行的代碼,它應該正常工作(不我的機器上):http://play.golang.org/p/QcrRl2BeNS

1

這樣的事情?

process,_ := os.FindProcess(os.Getpid()) 
process.Signal(os.Kill) 

...其中os.Kill是(可悲少數)標準信號中的一個所定義here或UNIX平臺信號here