我的目标需要一个编程解决方案来终止dotnet.exe当它有第二次机会异常(例如,使用Stop-Process
或taskkill
终止时(。这能做到吗?
提供给我的批处理文件有一个命令,如下所示:
dotnet exec Some.Namespace.Project.dll -t
我想到的唯一选择是在第二次机会例外之前杀死dotnet.exe进程。 正确计时需要一种方法来确定何时不再修改输出文件和/或标准输出中何时出现指示输出文件处理已完成的特定字符串。
请注意,我正在尝试用shell语言(PowerShell,Bash或CMD命令(自动化解决方案,但我也会接受其他语言的解决方案(例如C#,Python等(。我一直在提供的批处理文件之外编写脚本,但我也可以编辑批处理文件本身。
检测第二次机会异常的一种可行方法是通过Windows错误报告服务(WerSvc(,该服务的进程名称为WerFault.exe。这是显示的对话框窗口,其中包含"调试和关闭"程序的选项。出现此问题可能是因为我安装了 Visual Studio,并且可能具有不同的文本而没有可用的调试器。
仅检测流程的存在不是一个好的解决方案,但它正在完成我需要它做的事情。