我正在编写nunit测试来测试我的内部使用wcf通信的应用程序。 当测试正在运行并且发生未处理的异常时,托管wcf服务的exe崩溃时会出现一个对话框" ...已停止工作"。在此之后没有执行任何测试并等待我关闭程序,以便下一次测试再次启动该过程。 有没有办法检测这个wcf主机exe崩溃并杀死进程,以便下一个测试可以继续? (监视wcf主机exe的单独控制台应用程序)。 我试图使用属性Process.Responding来检查状态,但是无法正常工作。
答案 0 :(得分:0)
只需检查某个应用是否正在运行但其ID
bool exist = Process.GetProcesses().Any(x => x.Id == id);
您可以通过
获取进程IDvar p = new Process();
p.StartInfo.FileName = "notepad.exe";
p.Start();
int id = p.Id;
目前的应用
int id = Process.GetCurrentProcess().Id;