我有这样的代码:
ProcessStartInfo psi= new ProcessStartInfo(...);
Process process = Process.Start(psi);
Application.Current.Shutdown();
即便如此,process
在生产计算机上很少有应用程序的进程信息(我有日志),根本不会打开进程。
因为我现在Process.Start()是同步的,如果它返回一个值,那么必须有一个正在运行的进程。
我的另一个信息是真正的过程也是shell过程。
有没有人知道这是什么问题?
答案 0 :(得分:2)
进程是IO工件,因此在启动它和实际打开之间总有一些延迟。
这种延迟自然取决于运行代码的具体机器。
所以,就像一个解决方案,你可以
或睡眠主线程,直到p
进程打开,持续一段时间
或关闭主线程,只有从(比方说)某个定时器中,您才能在已运行的OS进程列表中找到所需的p
进程。
我认为,第二种是更好的解决方案。