示例#1
0
func (su *Supervise) Spawn() {
	var args = make([]string, 3)
	args[0] = "/bin/bash"
	args[1] = "-c"
	args[2] = su.cmd
	var sysProcAttr = syscall.SysProcAttr{}
	sysProcAttr.Setsid = true
	var procAttr = syscall.ProcAttr{
		su.cwd,
		os.Environ(),
		nil,
		&sysProcAttr,
	}
	var pid, _ = syscall.ForkExec("/bin/bash", args, &procAttr)
	su.pid = pid
	su.FlushStatus()
	su.WriteLog("child %d started", su.pid)
}