我无法杀死MyApp.vshost.exe

时间:2010-11-30 13:49:05

标签: vshost.exe

我设法让自己处于一个状态,我没有运行devenv的实例,但后台仍然是MyApp.vshost.exe(没有可见的窗口或控制台)。

我已经尝试过TaskManager,ProcessExplorer和命令行(taskkill /F /IM MyApp.vshost.exe),没有人抱怨,命令行甚至说'PID 5824已停止',但它仍然存在。

我知道我可以重启,但我宁愿深究这一点。

这看起来不像是这个问题(http://support.microsoft.com/kb/982551),因为我可以重新启动没有问题(事实上,因此无法提供任何进一步的诊断,抱歉)。

修改

这就是我进入这个泡菜的方式:

alt text

4 个答案:

答案 0 :(得分:89)

我可以通过以下步骤(VS2010)终止我的持久性vshost进程:

  1. 打开我的可执行项目的属性
  2. 在“调试”选项卡中,取消选中“启用Visual Studio托管过程”
  3. 保存项目文件
  4. 就是这样,进程停止了,没有必要重新启动Visual Studio。

答案 1 :(得分:21)

这似乎是此任务的正常行为。当你杀了它时,任务重新启动。 所以我建议你关闭Visual Studio,关闭* .vshost.exe任务。

答案 2 :(得分:1)

我在使用.NET 2.0作为目标框架的项目时遇到了同样的问题。 临时将目标框架更改为.NET 4.0客户端为我完成了这项工作。

但是,Iam不确定这是如何(是吗?)与文件锁定问题有关。

答案 3 :(得分:1)

也许这与https://stackoverflow.com/a/1582747/254041(待处理的I / O流程)中描述的问题相同:

  

MSDN API ref表示“TerminateProcess启动终止并立即返回。这将停止执行进程中的所有线程并请求取消所有挂起的I / O.终止的进程无法退出,直到所有挂起的I / O都有已完成或取消。“这意味着:你的I / O可以阻止这个过程(虽然我想知道它如何将你的过程变为100%,I / O通常不会这样做)。