c# – 检测.NET中的进程崩溃

有没有办法确定我的程序启动的进程已崩溃?
目前,我发现的解决方案是查看Process.ExitCode并检查值:
this.STProcess = Process.Start(this.Createprocessstartinfo());
        this.STProcess.WaitForExit();
        if (STProcess.ExitCode != 0)
        {
            //raise error event...
        }

我想知道是否有更优雅(和准确)的方式来做到这一点?

我更喜欢C#中的答案,并且使用P / Invoke也很好.

P.S – 我需要在Windows XP / Vista / 7上工作

解决方法

没有.

除非你能以某种方式影响进程(将错误写入Eventlog?文件),否则就我所知,你没有外部方法知道进程崩溃了.对你而言,这只是一个消失的过程.甚至Windows都不会将这些信息保存在我所知道的任何地方.它不再存在,除非过程以某种方式保留细节,否则它们就消失了.

相关文章

C#项目进行IIS部署过程中报错及其一般解决方案_c#iis执行语句...
微信扫码登录PC端网站应用的案例(C#)_c# 微信扫码登录
原文地址:http://msdn.microsoft.com/en-us/magazine/cc163...
前言 随着近些年微服务的流行,有越来越多的开发者和团队所采...
最近因为比较忙,好久没有写博客了,这篇主要给大家分享一下...
在多核CPU在今天和不久的将来,计算机将拥有更多的内核,Mic...