我有一种情况,我需要在一段时间后终止一个进程。我开始这个过程,然后:
case <-time.After(timeout):
if err := cmd.Process.Kill(); err != nil {
return 0, fmt.Errorf("Failed to kill process: %v", err)
}
杀死进程。但它只会杀死父进程,而不是主进程启动的 5-10 个子进程。我还尝试创建一个进程组,然后执行以下操作:
syscall.Kill(-cmd.Process.Pid, syscall.SIGKILL)
杀死主进程和孙进程,但不起作用。有没有其他方法可以终止进程。
胡说叔叔
慕容3067478
相关分类