在c#中杀死进程无法处理请求,因为进程已经退出
Killing processes in c# Cannot process request because the process has exited
我正在用 c# 编写一个程序,在隐身模式下创建一个 google chrome 的进程。一切顺利。我想启动该进程并在 2 秒后终止它(并关闭 chrome window)。
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();
它给我一个错误:无法处理请求,因为进程已经退出。
断点在 process.Kill();线.
看起来 chrome 进程是一个启动器,它打开另一个包含 chrome 浏览器的 chrome 进程,然后启动器进程关闭。所以你正在关闭一个已经自行关闭的进程。
此检查可帮助您防止进程在终止前终止。
if( !process.WaitForExit(2000) ) {
if (!process.HasExited) process.Kill();
}
我正在用 c# 编写一个程序,在隐身模式下创建一个 google chrome 的进程。一切顺利。我想启动该进程并在 2 秒后终止它(并关闭 chrome window)。
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();
它给我一个错误:无法处理请求,因为进程已经退出。
断点在 process.Kill();线.
看起来 chrome 进程是一个启动器,它打开另一个包含 chrome 浏览器的 chrome 进程,然后启动器进程关闭。所以你正在关闭一个已经自行关闭的进程。
此检查可帮助您防止进程在终止前终止。
if( !process.WaitForExit(2000) ) {
if (!process.HasExited) process.Kill();
}