IIS应用程序池PID

Ado*_*s L 43 .net iis pid application-pool

是否有人熟悉获取与进程ID关联的应用程序池的方法?我正在使用Win32_Process查询W3WP服务并返回PID现在我正在尝试获取与之关联的应用程序池.

Mor*_*ten 92

在Windows Server 2008上,这已经改变.

在systemroot\system32\inetsrv中找到appcmd.exe

运用

appcmd list wp

您将获得所有工作进程的列表以及他们正在服务的应用程序池.

  • 我可以很好地列出NETWORK SERVICE w3wp角色.也许您没有以管理员权限运行命令或W3WP进程被回收? (9认同)

Jim*_*im 17

如果您只是使用命令行来特定地解决它,您也可以这样做:

该脚本已放置在Windows Server 2003上的systemroot\system32中,因此只需转到命令提示符并输入iisapp.vbs(.vbs是可选的),您将获得所有应用程序池信息的即时列表.一直想知道.如果CScript不是您的默认WSH脚本宿主,则可能需要键入cscript iisapp.vbs.

让我们看一下输出的例子:

W3WP.exe PID: 1468 AppPoolId: AppPoolForSite1.com
W3WP.exe PID: 3056 AppPoolId: AppPoolForSite2.com
W3WP.exe PID: 1316 AppPoolId: AppPoolForSite3.com
Run Code Online (Sandbox Code Playgroud)

从马的嘴直接,微软文档.


Gra*_*day 8

如果您在Windows Server 2008上运行,并且只需要PID,以便提供给另一个脚本或命令,则可以使用以下命令:

c:\windows\system32\inetsrv\appcmd list wps /apppool.name:"My Application Pool" /text:WP.NAME
Run Code Online (Sandbox Code Playgroud)

例如,要创建用于创建特定应用程序池的内存转储的批处理脚本,请使用以下命令:

c:\windows\system32\inetsrv\appcmd list wps /apppool.name:"My Application Pool" /text:WP.NAME > "%temp%\pid.txt"
for /F %%a in (%temp%\pid.txt) do c:\debugger\adplus.exe -hang -o d:\dumps -p %%a
pause
Run Code Online (Sandbox Code Playgroud)


Dan*_*iff 7

我刚刚发现您也可以在IIS 7的UI中找到它.选择您的Web服务器节点并打开"Worker Processes".这将显示每个应用程序池的名称及其进程ID和利用率详细信息.