开发者

Determine which w3wp.exe process belongs to which App Pool in Windows 7 / IIS7.5?

I've recently upgraded my development machine from Windows XP to Windows 7. How can I tell which w3wp.exe process belongs to which App Pool on a desktop running Window开发者_如何学运维s 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

But what about on my desktop?


If you open IIS Manager, go to the root node in the tree on the left that represents your computer (should be labeled as your computer name).

In the Features View to the right, you'll see a section called IIS. Under that you'll see Worker Processes. Select that and it should show you all running worker processes and some basic info, including ProcessId.

You can correlate that ProcessId to the matching process in the Processes tab in Task Manager (showing processes from all users, and including the ProcessId column in the results).


You can also go into Task Manager and add the PID and Command Line columns to see the information you need.

Determine which w3wp.exe process belongs to which App Pool in Windows 7 / IIS7.5?

The blacked out content contains the names of the individual processes.

I find this workflow just slightly less cumbersome than having to navigate away from what I may be looking at in IIS just to see this information (to then have to navigate right back to where I was).


I know this is an old post, but here is a way to enumerate the app pool and process IDs using C# code.

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();
    }
}

Make sure you reference Microsoft.Web.Administration.dll in %WINDIR%\System32\inetsrv.

If you don't have LINQPad, replace the dumps with Console.WriteLine(s)


There are two ways in which I prefer "task manager" version.

By task manager,

Add "command line" column as shown in the images.

Determine which w3wp.exe process belongs to which App Pool in Windows 7 / IIS7.5?

Determine which w3wp.exe process belongs to which App Pool in Windows 7 / IIS7.5?

By PowerShell,

cd C:\Windows\System32\inetsrv\
.\appcmd list wp

Determine which w3wp.exe process belongs to which App Pool in Windows 7 / IIS7.5?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜