在 Windows 机器上的 C# 中,有没有办法找出进程是如何停止的?我已经看过了 过程 类,一旦我设置,就设法从 Exited 事件中获得一个很好的友好回调 EnableRaisingEvents = true; 但我没能查出该进程是被杀死还是自然退出?

有帮助吗?

解决方案

启动进程监视器(来自 Sysinternals,Microsoft 的一部分),运行进程并让它终止,然后按进程名称过滤进程监视器结果 - 您将能够看到它所做的一切,包括退出代码。

其他提示

您可以使用该过程的返回代码。如果您的进程从其 Main 方法返回非零值,则您可以检查进程是否自行退出(返回值匹配)。

安托万的回答很好,遗憾的是我无法更改返回代码。我的错 - 我想我需要缩小问题的范围。

实际上,我认为我什至不需要一个编程解决方案 - 一个实用程序就可以了 - 我已经看过令人印象深刻的外观 流程浏览器 但这似乎没有给我这些细节。

我遇到的问题是我希望询问的程序正在由调度系统运行,相当于 Windows 计划任务,但不是这样。有没有办法检测调度程序是否强制停止程序?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top