如何以编程方式检测 dotnet.exe 何时遇到第二次机会异常?



我的目标需要一个编程解决方案来终止dotnet.exe当它有第二次机会异常(例如,使用Stop-Processtaskkill终止时(。这能做到吗?

提供给我的批处理文件有一个命令,如下所示:

dotnet exec Some.Namespace.Project.dll -t

我想到的唯一选择是在第二次机会例外之前杀死dotnet.exe进程。 正确计时需要一种方法来确定何时不再修改输出文件和/或标准输出中何时出现指示输出文件处理已完成的特定字符串。

请注意,我正在尝试用shell语言(PowerShell,Bash或CMD命令(自动化解决方案,但我也会接受其他语言的解决方案(例如C#,Python等(。我一直在提供的批处理文件之外编写脚本,但我也可以编辑批处理文件本身。

检测第二次机会异常的一种可行方法是通过Windows错误报告服务(WerSvc(,该服务的进程名称为WerFault.exe。这是显示的对话框窗口,其中包含"调试关闭"程序的选项。出现此问题可能是因为我安装了 Visual Studio,并且可能具有不同的文本而没有可用的调试器。

仅检测流程的存在不是一个好的解决方案,但它正在完成我需要它做的事情。

最新更新