gpt4 book ai didi

c# - Process.Start() 是同步的吗?

转载 作者:太空宇宙 更新时间:2023-11-03 11:08:22 28 4
gpt4 key购买 nike

我有这样的代码:

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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com