以 Process.Start(exepath);
开始的程序会在父进程结束时终止吗?我发现它有一些奇怪的行为,我相信这可能是问题所在。
最佳答案
在 Windows 上,子进程通常独立存在,一旦启动,它们就不依赖于它们的父进程。您正在寻找job objects .使用作业,您可以控制整个进程树的生命周期,如果父进程结束,所有子进程都可以确定地终止(通过让父进程拥有作业,严格来说,如果作业被终止,所有子进程都会终止)。它没有托管的 .Net API,但 p-Invoke 工作正常。
因此,如果您遇到意外的“奇怪行为”,请确保您的进程未在作业上下文中启动,从而导致您的子进程也成为作业的一部分。 Process Explorer可以显示进程的作业属性。
关于c# - Process.Start 是否在父程序终止时终止子程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22318493/