【发布时间】:2014-06-11 01:18:43
【问题描述】:
我有一些这样的 go 代码:
cmd = exec.Command(command)
//...
cmd.Run()
func reapChild(cmd) {
sigc := make(chan os.Signal, 1)
signal.Notify(sigc, syscall.SIGCHLD)
go func() {
my_signal := <- sigc
log.Infof("appstore: reapChildren: got a SIGCHLD signal")
cmd.Wait()
signal.Stop(sigc)
}()
}
这会为特定生成的孩子收获过程,但我正在寻找 更通用的东西。
有没有办法让 PID 脱离 my_signal?我在找东西 像 pid_t wait(int *status) -- golang 提供了一个函数 称为 Wait4,它采用特定的 PID。
【问题讨论】:
-
你的代码有什么问题? goroutines 非常便宜。
-
什么是儿童收割者,有什么用途?
标签: go signals zombie-process