If I have a os.Exec object called "myCmd" and I call myCmd.Process.Kill(), what is the return code behavior of the process? Will it return a exec.ExitError? I want to forcefully kill the os.Exec process (i.eo kill -9), have it return a exec.ExitError or something that my goroutine can distinguish for a normal cmd exit with return code 0.
What I have so far:
myCmd.Start()
var cmdWatcher = func(childCmd os.Cmd) {
err := childCmd.Wait()
if exitErr, k := err.(*exec.ExitError); k {
fmt.Print("ExitError detected")
}
return
}
go cmdWatcher(myCmd)
myCmd.Process.Kill()
See Question&Answers more detail:os