我想捕获从控制台发送的Ctrl+C(SIGINT)信号并打印出一些部分运行总计.
这在Golang有可能吗?
注意:当我第一次发布问题时,我很困惑Ctrl+C而SIGTERM不是SIGINT.
我想在Go中实现一个"进程包装器".基本上它会做什么,是启动一个进程(比如节点服务器)并监视它(捕获信号,如SIGKILL,SIGTERM ...)
我认为要做的方法是使用syscall.Exec以下命令在go例程中启动节点服务器:
func launchCmd(path string, args []string) {
err := syscall.Exec(path, args, os.Environ())
if err != nil {
panic(err)
}
}
Run Code Online (Sandbox Code Playgroud)
然后我想捕获由执行的命令生成的每个可能的信号syscall.我是Go的新手,任何帮助都会受到赞赏.