我有这样的代码:
ProcessStartInfo psi= new ProcessStartInfo(...);
Process process = Process.Start(psi);
Application.Current.Shutdown();
即使如此,进程
也有应用程序的进程信息(我有日志),在极少数情况下,在生产计算机上该进程根本不会打开。
现在 Process.Start() 是同步的,如果它返回一个值,则必须有一个正在运行的进程。
我掌握的另一个信息是,真正的进程也是shell进程。
有人知道问题出在哪里吗?
最佳答案
进程是 IO 工件,因此在启动它和实际打开之间总是存在一些延迟。
这种延迟自然取决于运行代码的具体机器。
所以,就像一个解决方案,你可以
或休眠主线程,直到
p
进程打开一段时间或关闭主线程,仅当您能够在某个计时器中(例如)在已运行的操作系统进程列表中找到所需的
<p
进程时。
我认为第二个是更好的解决方案。
关于c# - Process.Start() 是同步的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14952821/