我最近将我的开发机器从Windows XP升级到Windows 7.如何判断哪个w3wp.exe进程属于运行Windows 7的桌面上的哪个应用程序池?
On a server running IIS6, you can run c:\windows\system32\cscript iisapp.vbs
On a Windows 2008 Server running IIS7 you can run appcmd list wp
但是我的桌面呢?
答案 0 :(得分:59)
如果打开IIS管理器,请转到左侧树中代表您计算机的根节点(应标记为您的计算机名称)。
在右侧的功能视图中,您会看到一个名为 IIS 的部分。在那下你会看到Worker Processes
。选择它,它应该显示所有正在运行的工作进程和一些基本信息,包括ProcessId。
您可以将ProcessId与任务管理器中“进程”选项卡中的匹配进程相关联(显示所有用户的进程,并在结果中包含ProcessId列)。
答案 1 :(得分:21)
您还可以进入任务管理器并添加 PID 和命令行列,以查看所需信息。
黑屏内容包含各个进程的名称。
我发现这个工作流程稍微不那么麻烦,只需要远离我在IIS中看到的内容,只是为了看到这些信息(然后必须导航回到我的位置)
答案 2 :(得分:2)
我知道这是一篇旧帖子,但这是一种使用C#代码枚举应用程序池和进程ID的方法。
void Main()
{
using (var serverManager = new ServerManager())
{
foreach (var appPool in serverManager.ApplicationPools)
{
string.Format("App pool name = {0}", appPool.Name).Dump();
foreach (var workerProcess in appPool.WorkerProcesses)
{
string.Format("Process id = {0}", workerProcess.ProcessId).Dump();
}
}
"Done".Dump();
}
}
确保在%WINDIR%\ System32 \ inetsrv中引用 Microsoft.Web.Administration.dll 。
如果您没有LINQPad,请将转储替换为Console.WriteLine
答案 3 :(得分:0)