Exception 当dotnet.exe遇到第二次意外异常时,如何通过编程进行检测?

Exception 当dotnet.exe遇到第二次意外异常时,如何通过编程进行检测?,exception,automation,Exception,Automation,我的目标是,当dotnet.exe再次出现异常时(例如,使用Stop Process或taskkill终止),需要一个程序解决方案来终止它。这能做到吗 提供给我的批处理文件有如下命令: dotnet exec Some.Namespace.Project.dll -t 我想到的唯一替代方法是在第二次机会异常之前终止dotnet.exe进程。正确计时需要一种方法来确定何时不再修改输出文件和/或何时在标准输出中显示特定字符串,以指示输出文件的处理已完成 请注意,我试图用shell语言(PowerS

我的目标是,当dotnet.exe再次出现异常时(例如,使用
Stop Process
taskkill
终止),需要一个程序解决方案来终止它。这能做到吗

提供给我的批处理文件有如下命令:

dotnet exec Some.Namespace.Project.dll -t
我想到的唯一替代方法是在第二次机会异常之前终止dotnet.exe进程。正确计时需要一种方法来确定何时不再修改输出文件和/或何时在标准输出中显示特定字符串,以指示输出文件的处理已完成


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

检测第二次机会异常的可行方法是通过Windows错误报告服务(WerSvc),该服务的进程名为WERFULT.exe。这是显示的对话框窗口,其中包含调试关闭程序的选项。这可能是因为我安装了VisualStudio,并且在没有可用调试器的情况下可能有不同的文本


仅仅检测进程的存在并不是一个好的解决方案,但它可以完成我需要它完成的工作。

请注意,用户可以使用WER对话框选项进行调试,因为安装了调试器,即使它没有被使用。因此,这与回答中提到的结果相矛盾。澄清:我想终止由批处理文件启动的流程,但在该流程达到其目的之前不终止。当流程有第二次机会出现异常时,保证该流程已完成其目的。终止进程的操作应该是自动化的(即,我需要检测第二次机会异常以触发命令终止)。