检测"应用程序已停止工作"并重新启动exe

时间:2016-06-27 14:15:06

标签: c# wcf nunit

我正在编写nunit测试来测试我的内部使用wcf通信的应用程序。 当测试正在运行并且发生未处理的异常时,托管wcf服务的exe崩溃时会出现一个对话框" ...已停止工作"。在此之后没有执行任何测试并等待我关闭程序,以便下一次测试再次启动该过程。 有没有办法检测这个wcf主机exe崩溃并杀死进程,以便下一个测试可以继续? (监视wcf主机exe的单独控制台应用程序)。 我试图使用属性Process.Responding来检查状态,但是无法正常工作。

1 个答案:

答案 0 :(得分:0)

只需检查某个应用是否正在运行但其ID

bool exist = Process.GetProcesses().Any(x => x.Id == id);

您可以通过

获取进程ID
var p = new Process();
p.StartInfo.FileName = "notepad.exe";
p.Start();
int id = p.Id;

目前的应用

int id = Process.GetCurrentProcess().Id;