c#中的杀死进程无法处理请求,因为进程已退出

时间:2015-03-30 21:51:13

标签: c# process

我正在用c#编写一个程序,以隐身模式创建谷歌浏览器的过程。一切顺利。我想开始这个过程,并在2秒后杀死它(并关闭镀铬窗口)。

 String a = textBox1.Text + " --incognito";//Get the link that the user types
                process.StartInfo.FileName = @"C:\Program Files (x86)\Google\Chrome\Application\chrome";
                process.StartInfo.Arguments =a;
                process.Start();
                System.Threading.Thread.Sleep(2000);


                process.Kill();

它给我一个错误:无法处理请求,因为进程已退出。

并且断点在进程中.Kill();线。

2 个答案:

答案 0 :(得分:1)

看起来Chrome进程是一个启动程序,它打开另一个包含chrome浏览器的chrome进程,然后关闭启动程序进程。因此,您正在关闭已经自行关闭的流程。

答案 1 :(得分:-1)

此检查可帮助您防止在终止之前终止该进程。

if( !process.WaitForExit(2000) ) {
   if (!process.HasExited) process.Kill();
}