问题标签 [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 投票
3 回答
2701 浏览

.net - 等待远程进程在 .net 中完成

我们都知道并喜欢 Process.WaitForExit()。

给定远程机器上进程的 pid(由 WMI/psexec 创建),我如何等待它结束?

0 投票
6 回答
10007 浏览

c# - 当 process.WaitForExit(); 时 Visual C# GUI 停止响应 用来

我正在使用 Visual C# 2005 (net framework 2) 创建一个 GUI 应用程序。我使用以下代码启动一个进程:

我希望我的应用程序等到这个过程完成,所以我使用了 WaitForExit。但是当 app.exe 运行时 GUI 窗口会冻结。我希望它响应(例如按下取消按钮),但我不希望代码继续,因为之后还有另一个进程要启动。提前致谢!

0 投票
2 回答
4210 浏览

.net - 通过 C# 的 Process 类生成时,处理标准错误和程序输出的正确方法?

我阅读了Process.StandardOutput的文档,其中包含以下引用:

如果父进程在 p.StandardOutput.ReadToEnd 之前调用 p.WaitForExit 并且子进程写入足够的文本来填充重定向的流,则可能导致死锁情况。

所以我想知道。如果我还担心在某些情况下可能会填充 StandardError,那么正确的方法是什么?

我是否必须使用循环来交替读取标准输出和错误,以避免填满,或者这个简单的代码是否足够:


在发布了一些答案后进行了编辑

那么这是正确的方法吗?

然后,仅当该过程实际完成时,我才使用 stringbuilder 内容。

那是正确的方法吗?

0 投票
2 回答
2587 浏览

c# - 运行耗时较长的进程

我的代码中有一个部分,我在其中调用批处理文件并为其提供某些参数。该批处理文件调用另一个批处理文件,依此类推。整个过程大约需要 45 分钟才能完成。我还需要等待批处理文件完成,然后再继续我的其余代码(在批处理文件之后清理等)。

我的问题是,尽管我尝试了几种不同的方法,但我无法让批处理文件完成其运行以及将其输出写入日志文件。

这是我为使批处理文件完成运行所做的工作:

为了启用日志记录,我尝试了很多事情。这只是最新的尝试。

这段代码基本上使它成为第一个批处理文件中的一个微不足道的部分并停在那里。批处理文件运行不到一分钟。我不明白为什么会这样。如果标准输出没有被重定向并且创建了一个窗口,它会完美运行,但如果窗口被隐藏并且标准输出被重定向,它什么也不做?

0 投票
3 回答
48221 浏览

vb.net - 如何使用 Process.WaitForExit

我正在调用一个“有时”在 VB.NET 中工作的第 3 部分应用程序(它是一个自托管的 WCF)。但有时第 3 方应用程序会永远挂起,所以我为它添加了一个 90 秒计时器。问题是,我怎么知道事情是否超时?

代码如下所示:

我想做的是这样的

有任何想法吗?

谢谢,

杰森

0 投票
2 回答
761 浏览

vb.net - 执行 WaitForExit() 时出现运行时错误

我正在尝试执行以下代码,但调试器失败了 myProcess.WaitForExit()

基本上,我想要的是检测要完成的进程并在进程完成时删除特定文件。

尝试执行代码时出现此错误:

0 投票
0 回答
252 浏览

process - 用于 MS Word 类型程序的 WaitForExit - 进程已启动

在我的应用程序中,我想打开 *.rtf 文件,然后等待它关闭。通常用户有 MS Word 来打开 *.rtf 文件,这就是问题所在。下面的代码有效,但仅当“WINWORD”进程尚未启动时。在这种情况下,调用 Process.Start() 只会打开 Word 的一个新窗口,并且 Process 对象中的大部分数据都变为空。我不能“等待”进程,因为它会引发异常。我该如何处理?请帮忙。

*编辑:我已经分析了一些解决方案,并且我注意到,如果用户打开 *.rtf 文件的应用程序就像 Word(可能在许多窗口中打开许多文件),我只需要等待我的 *.rtf 文件窗口,而不是整个过程。这将是愚蠢的。问题越来越复杂。请帮忙。

0 投票
1 回答
1143 浏览

c# - Process.WaitForExit 在运行另一个安装时挂起

再会!我正在开发安装程序,它使用 Process.Start 为我的软件安装额外的依赖项。

问题是当另一个 msi 安装运行时,WaitForExit 挂起(当我关闭另一个 msi 安装时,WaitForExit 也退出)。

我不能使用超时,因为安装时间不同,依赖项也不同。

有什么方法可以处理这种情况并正确终止进程(实际上我想知道是依赖安装还是挂起)?非常感谢。

解决方案:在我的情况下,通过检查“msiexec”进程是否正在运行来解决问题。

0 投票
4 回答
16543 浏览

c# - WaitforExit 无法正常工作

所以我一直在与这个问题作斗争一段时间,并尝试了许多不同的方法来解决它,但不能。

Bascally waht 我的应用程序是调用一个 java 文件在设备上加载应用程序。在加载时将其打印到富文本框中,然后我想继续下一个文件。我遇到的问题是,在加载第一个文件时,第二个文件会尝试加载哪些案例问题。我已经尝试等待退出,但如果我这样做,那么输出数据不会被写入富文本框。有任何想法吗?

我尝试在许多不同的地方等待退出,但它似乎不起作用。

以下两种方法将标准输出或错误写入富文本字段。

任何想法都会很棒。基本上我需要退出进程,所以我可以继续考虑 forloop 来加载下一个文件。

0 投票
2 回答
1629 浏览

c# - WaitForExit 默认浏览器

我正在使用这段代码:

在默认浏览器中打开“Url”。我想等待用户关闭该浏览器,然后进一步执行代码。但是在 IE(我的默认浏览器)中打开 Url 后,它会抛出一个未设置为对象实例的对象引用并突出显示

问题是什么?我只想等它结束。感谢您的任何建议。