【发布时间】:2011-08-19 14:09:31
【问题描述】:
我正在使用如下所示的代码以编程方式启动 Internet Explorer:
ProcessStartInfo startInfo = new ProcessStartInfo("iexplore.exe");
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = "http://www.google.com";
Process ieProcess = Process.Start(startInfo);
这会生成 2 个在 Windows 任务管理器中可见的进程。然后,我尝试终止进程:
ieProcess.Kill();
这会导致任务管理器中的一个进程被关闭,而另一个则保留。我尝试检查任何具有子进程的属性,但没有找到。我怎样才能杀死另一个进程呢?更一般地说,如何杀死与使用 Process.Start 启动的进程相关联的所有进程?
【问题讨论】:
-
也许我遗漏了什么,但这怎么会启动两个进程?
-
@Etienne 我不知道,我也是这么想的。但是当我正常启动 IE 时,它也会启动 2 个进程。我不知道这是否值得注意,但我在 64 位机器上使用 32 位 IE。
-
@Etienne de Martel:IE 的 UI 使用了多个进程,基本上每个打开的选项卡有 1 个主进程 + 1 个子进程。
-
@0xA3 有趣的是,我认为它只是像 Firefox 一样工作,只有一个进程和一堆不断挂起的线程。
-
感谢您修改了 sn-p/class
标签: c# .net kill-process