我想捕获从控制台发送的Ctrl+C(SIGINT)信号并打印出部分运行总计。
Ctrl+C
SIGINT
Golang有可能吗?
注意:当我第一次发布问题时,我对Ctrl+C被SIGTERM代替感到困惑SIGINT。
SIGTERM
您可以使用os / signal包来处理输入信号。Ctrl+ C是SIGINT,因此您可以使用它来捕获os.Interrupt。
Ctrl
C
os.Interrupt
c := make(chan os.Signal, 1) signal.Notify(c, os.Interrupt) go func(){ for sig := range c { // sig is a ^C, handle it } }()
导致程序终止和打印信息的方式完全取决于您。