ANSI C raise()函数的golang等价物是什么?
请参阅此处了解raise()的示例用法:
答案 0 :(得分: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())
这个实现在go操场上不起作用,因为它不会让你导入os / signal,但如果你在本地运行代码,它应该可以正常工作(在我的机器上):http://play.golang.org/p/QcrRl2BeNS < / p>
答案 1 :(得分:1)