【转】Go 中如何优雅关闭子进程? - 立志做一个好的程序员 - 博客园
golang子进程的启动和停止,mac与linux的区别_weixin_34211761的博客-优快云博客
func HandleFileWatch(FilewatchParams string) {
sep := " "
arrParam := strings.Split(FilewatchParams, sep)
loop:
//cmd := exec.Command("./script.sh")
//nohup ./xxxxx MODIFY,CLOSE,OPEN MOUNT,ADD / /tmp/,/log/,/var/log/filewatch/ >/dev/null 2>&1 &
//cmd := exec.Command("./filewatch", "MODIFY,CLOSE,OPEN", "MOUNT,ADD", "/", "/tmp/,/log/,/var/log/xxxx/")
cmd := exec.Command("./xxxx", arrParam...)
//cmd.Stdout = os.Stdout
err := cmd.Start()
if err != nil {
log.Fatal(err)
}
log.Printf("Just ran subprocess %d ", cmd.Process.Pid)
if err = cmd.Wait(); err != nil {
glog.Errorf("child process %d exit with err: %v", cmd.Process.Pid, err)
}
log.Printf("subprocess %d, exiting", cmd.Process.Pid)
time.Sleep(time.Duration(2) * time.Second)
goto loop
}