标签: conhost

(何时)实际上需要CONHOST.EXE?

背景

去年我编译了一个可以从闪存驱动器运行的便携式博客/网络服务器系统。它很棒,而且效果很好,尤其是在 XP 上。问题是,当它在 Windows 7 中运行时,每个控制台程序都会产生两个进程,进程本身,加上conhost.exe.

问题

在便携式博客系统的情况下,它的每个服务器组件(MySQL 的mysqld.exe、Apache 的两个实例httpd.exe、VisualSVN 的两个实例visualsvnserver.exe和 PHP 的多个实例php-cgi.exe)都会产生一个 实例conhost.exe。此时(没有php-cgi.exe活动副本,我有五个conhost.exe正在运行的实例,几乎没有使用 CPU 周期,但消耗了 22MB 的内存(除了实际进程当前使用的 80MB)。

研究

自从 Windows 7 发布后(我认为可能是从 Vista 开始),我曾多次试图弄清楚各种(新)主机进程(例如,、、 和)的确切用途以及它们是否真的有必要。我尝试杀死它们并发现控制台程序继续工作,无论是使用控制台窗口的程序还是不使用控制台窗口的程序(如服务器)。conhost.exedllhost.exetaskhost.exe

我已经很熟悉了csrss.exe?视窗 ? conhost.exe并且多次看到相同的(几乎是逐字逐句的)解释。问题是每个人都只是简单地复制粘贴相同的解释,这是没有帮助的。它只是说,在 XP 中,控制台应用程序“托管于”或“运行于” csrss.exe,但在 Windows 7 中,conhost.exe为了安全起见,它们被转移到了。安全方面是有道理的,但它没有说明托管它的含义或为什么/何时需要(或者如果不需要,是否可以避免它)。甚至 Raymond Chen对此事的讨论也掩盖了为什么控制台应用程序的托管方式完全不同。

我能找到的最接近详细的技术解释的是Microsoft 的博客文章,它似乎强化了这样一种观点,即它仅与控制台应用程序的 GUI 和窗口有关。这让我更加怀疑 …

windows-7 console process conhost

24
推荐指数
2
解决办法
1万
查看次数

conhost.exe 的多个实例

我的桌面有两个conhost.exe始终在后台运行的实例。一些谷歌搜索带来了几篇文章,比如这篇文章,但他们没有解释为什么我有多个conhost运行实例。我没有打开任何控制台窗口。

这是 Process Explorer 的屏幕截图:

进程资源管理器屏幕截图

我生性谨慎。全新安装 Windows 7 后,我做的第一件事就是打开 UAC,启动并运行防病毒、防恶意软件和防火墙。我不能排除病毒,但它是非常不可能的。

这里发生什么事了?作为参数传递给 的那个大数是conhost什么?

security windows-7 conhost

23
推荐指数
2
解决办法
11万
查看次数

\??\ 在\??\C:\Windows\System32\conhost.exe 中是什么意思?

我在试图找到这个问题的答案时注意到了这一点

它似乎只与conhost.exe出现在命令行参数中有关conhost.exe

此外,所有conhost.exe进程的参数似乎都相同(在我的计算机上):

\??\C:\WINDOWS\system32\conhost.exe 0x4

我的问题是这\??\意味着什么?那是某种物理设备地址吗?我以前见过的唯一地方是这张图片,它来自这篇文章

windows command-line conhost

11
推荐指数
1
解决办法
2万
查看次数

Windows命令行窗口滚动限制

如何将 Windows 10 命令行窗口设置为默认无限滚动,就像在 Ubuntu 中一样?

我已将属性对话框中可能与缓冲区相关的唯一两个可能的选项设置为 999,但仍然会溢出。

console buffer conhost cmd.exe windows-10

6
推荐指数
1
解决办法
1万
查看次数