我在golang中发现了一个奇怪的问题。exec.Start()如果父程序被os.Interrupt信号中断,则执行的程序会退出,而如果父程序正常退出,则子程序不会退出。这两种情况有什么区别?举些例子:package mainimport "fmt"import "os"import "time"import "os/exec"func main(){ cmd := exec.Command("sleep", "100000") cmd.Env = os.Environ() fmt.Println(cmd.Env) cmd.Start() time.Sleep(1e9*20) return} 在后一种情况下,如果我们不中断主程序,sleep 100000则的父级将是init process20 秒之后。
- 2 回答
- 0 关注
- 281 浏览
添加回答
举报
0/150
提交
取消