我想測試下面的代碼片段。進程不工作的殺死方法
static void StartAndKill()
{
Process ieProc = Process.Start("iexplore.exe", "www.apress.com");
Console.WriteLine("--> Hit enter to kill {0}\t", ieProc.ProcessName);
Console.ReadLine();
try
{
Console.WriteLine(ieProc.Id);
ieProc.Kill();
}
catch (Exception exception)
{
Console.WriteLine(exception.Message);
}
}
這應該殺死Internet Explorer窗口並關閉它。相反,我得到一個例外,說:
Cannot process request because the process (7256) has exited.
這種行爲的邏輯解釋是什麼?
同樣適用於其他「單一實例」應用程序(當進程啓動並且在某些情況下,重定向工作可用於存在進程,而不是必需的單一進程)。請注意,IE不需要打開每個選項卡的進程(取決於版本),因此殺死它可能是個壞主意(並且殺死選項卡的進程將簡單地觸發恢復選項卡而沒有任何視覺效果)。 – 2011-12-14 17:06:51
阿列克謝在這裏說什麼似乎是怎麼回事。 – 2011-12-14 20:44:39