问题标签 [waitforexit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
213 浏览

c# - WaitForExit() 在 UAC 或安全警告上激活

总的来说,我对 c# 和这个论坛还很陌生,但就我而言,我还没有看到像我这样的问题可以解决我的问题。

我正在调用该方法Process.WaitForExit()以等待安装文件完成安装。但是,该方法似乎将 UAC 视为“过程”,并在我单击 UAC 上的“确定”后激活。在代码继续之前,有没有更好的方法来等待安装过程完成?还是我做错了?手动禁用 UAC(如果可能的话)是不行的,除非它也以编程方式完成。

这是代码的一部分:

编辑:正确调用进程

编辑 2:如果我说我正在安装 MySQL Server 5.6,会有帮助吗?似乎除了安全警告之外,它还会在启动之前弹出并关闭一些窗口。问候。

0 投票
1 回答
1616 浏览

vb.net - process.start 冻结我的应用程序(VS 2013)

因此,我正在尝试创建一个应用程序,该应用程序根据文件名列表启动第 3 方 exe 来执行一些文件操作。因此,如果列表有 13 个项目,我将循环 13 次,每次启动外部进程,通知用户现在正在处理哪个文件,启动进程并等待它退出。为了通知用户,另一个列表框用作喊话框。问题是, .waitforexit() 以某种奇怪的方式冻结了整个线程,因此外部程序被正常调用,文件被正常处理,但主窗口被冻结,直到所有项目都完成。所以基本上 Shoutbox 被冻结并且只有在整个循环完成后才会收到所有信息的垃圾邮件。我尝试了很多方法来实现这一点,例如启动新线程、使用线程池、计时器等等。任何帮助表示赞赏。代码:

0 投票
2 回答
1861 浏览

wpf - 在两个进程运行之间更新 WPF 中的主 UI

我在 WPF 中启动了两个背靠背进程,中间有一个 UI 更改。还有一个包含所有内容的while循环。因此,代码看起来类似于:

问题是在第一个进程存在之后和第二个进程开始之前,UI 没有更新。它只在 while 循环终止时更新一次。

我怎样才能实现上述逻辑并能够重绘堆栈面板?

0 投票
0 回答
177 浏览

c# - 与命令提示符相比,System.Diagnostics.Process 需要更多时间

我正在尝试使用 System.Diagnostics.Process 从 c# 代码中安装 VHD 文件以执行 diskpart.exe 命令。

下面是我使用的代码片段:

问题是如果我在命令提示符下执行相同的命令(使用批处理文件),执行大约需要 0.5 秒。但是如果我运行上面的代码,WaitForExit() 大约需要 5 秒才能返回。

我尝试将 RedirectStandardOutput 和 RedirectStandardError 设置为 true 和 false,但我看不出有什么区别。

请让我知道我在这里可能做错了什么。

谢谢。

0 投票
1 回答
297 浏览

c# - 我如何知道 Process.WaitForExit() 是否因主应用程序关闭而过期

我有一个 C# 控制台程序“A”来监视另一个应用程序“B”的 4 个实例。

控制台程序为每个“B”实例创建一个线程,每个线程使用Process.Start(). 然后线程使用等待 3 秒Process.WaitForExit(3000);

在那之后,它会检查应用程序“B”的实例是否正在运行。如果没问题,再等。否则,如果它不起作用或已经完成,它会重新启动它。当用户关闭控制台程序时,所有应用程序都将结束。

但是,当使用控制台的关闭按钮关闭应用程序“A”时,WaitForExit() 在所有线程中恢复,并导致应用程序“B”重新启动。

我想检测是否WaitForExit()由于受监控的应用程序“B”失败或主应用程序“A”正在退出而恢复。在这种情况下,应用程序“B”不会重新启动,问题将得到解决。

我尝试使用以下方法捕获结束事件:

问题是在调用处理程序例程之前恢复了 WaitForExit()。

更多信息:

Main() 方法启动线程:

我还尝试将线程从后台更改为前台,以便主应用程序不会退出,但结果是一样的。

每个线程启动并监视第二个应用程序的一个实例:

_closure 是在控制台关闭时从主线程设置的变量。我使用 SetConsoleCtrlHandler 做到了这一点:

0 投票
1 回答
565 浏览

c# - 在 C# 中,我如何拥有一个覆盖标准 process.WaitForExit() 的 process.WaitForExit(time)?

我希望它在继续之前等待该过程结束,但如果它没有在 x 时间内结束,请继续。预先感谢您的帮助。

0 投票
0 回答
196 浏览

jsp - 需要等待一个程序在 JSP 中执行

我需要从我的 JSP 中执行一个批处理文件,但是代码在批处理文件执行语句之后移动到下一行,并且不等待批处理文件完成执行。我试过waitfor()了,但它进入了无限循环。

所以现在我选择了一个不同的解决方案,我的批处理文件由 JSP 执行,修改了系统上的文件。所以我放了一个 while 循环并检查文件修改时间和当前系统时间。即使在这种情况下,while 循环也会永远持续下去。

请在任何一种方法中提供帮助。

0 投票
2 回答
6672 浏览

c# - C# Process.Start - 如何强制执行 WaitForExit

我有一个调用其他控制台应用程序的控制台应用程序。

我正在使用以下链接获取操作方法:https ://robindotnet.wordpress.com/2010/03/21/how-to-pass-arguments-to-an-offline-clickonce-application/

我无法实例化 Process 并使用它,因为我收到错误消息“指定的可执行文件不是此 OS 平台的有效应用程序”。

我可以使用 Process 的静态版本来调用应用程序,例如

或者

但是,我无法让进程 WaitForExit - 一个应用程序被调用,一段时间后,在第一个应用程序完成之前,第二个应用程序被调用 - 这是一个问题,因为它取决于第一个应用程序完成。

关于如何让静态版本的进程等待退出的任何建议(替代方法。如何实例化进程并能够调用 clickonce 部署的应用程序?)

0 投票
2 回答
292 浏览

android - Android:暂停 FOR 循环以等待 startActivityForResult 调用的子活动完成()

我正在尝试使用此代码一一启动一些活动

我想在每次启动子活动时获取意图,做某事,完成它,父活动将等待每个孩子退出,然后调用下一个活动。但是 for 循环在显示任何活动之前运行并完成。有解决办法吗?

0 投票
1 回答
818 浏览

c# - WaitForExit 没有正确超时,只是挂起

我有一些这样的代码:

这个想法是让进程优雅地退出,但如果它需要超过 5 秒,我认为它需要被杀死。

这似乎在大多数情况下都有效,但如果进程抛出了 Windows 错误消息,它就会挂起。我以前只有“process.Kill()”并且有效,所以我必须假设它实际上卡在了 WaitForExit(5000) 调用上,即使我给它一个超时值。

有什么理由会发生这种情况?

编辑:我想知道是否可能是由于该错误消息而实际挂起的 CloseMainWindow() 。在这种情况下,在尝试 CloseMainWindow() 方法之前检查进程的“响应”属性实际上会返回“false”吗?如果是这样,我可以检查一下,然后在这种情况下使用 Kill 。