親プログラムがシグナルos.Interruptによって中断されると、によって実行されるexec.Start()
プログラムは終了しますが、親プログラムが正常に終了すると、子プログラムは終了しません。その2つの条件の違いは何ですか? 例えば:
package main
import "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
}
後の状態では、メイン プログラムを中断しなければ、親は20 代以降sleep 100000
になります。init process