我希望在Go中实现一个“进程包装器”。基本上它所要做的就是启动一个进程(比如一个节点服务器)并监控它(捕获如SIGKILL,SIGTERM等信号)。
我认为实现的方式是使用syscall.Exec
在一个Go协程中启动节点服务器:
func launchCmd(path string, args []string) {
err := syscall.Exec(path, args, os.Environ())
if err != nil {
panic(err)
}
}
我想捕获由 syscall
执行的每一个可能的信号。我对Go不是很熟悉,希望能得到帮助。