What Application Pool does this W3WP.EXE belong to?

http://blogs.msdn.com/jb/archive/2006/02/22/536693.aspx 

What Application Pool does this W3WP.EXE belong to?

Published 22 February 06 04:58 AM | jamesbl 

During the course of working through issues, I get asked at least twice a week how to determine which application pool maps to a particular worker process PID (Process ID) on a server.  I suppose there are lots of ways to determine this, but here two that come to mind to determine the answer.

The first way, and by far the easiest, is to use one of the new scripts that come in the box called IISAPP.VBS.  It is located in the %SystemRoot%\system32 directory.  For example:

C:\WINDOWS\system32>cscript iisapp.vbs
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

W3WP.exe PID: 1172 AppPoolId: StsAdminAppPool
W3WP.exe PID: 2656 AppPoolId: MSSharePointAppPool
W3WP.exe PID: 2148 AppPoolId: WMS App Pool
W3WP.exe PID: 3604 AppPoolId: defaultwebsite

As you can see, this script makes it very easy to determine what the PID is of each specific Application Pool.  This is nice to use when trying to determine which PID you may want to snap a dump of for debugging purposes.

There are others that are cool as well.  For more details on the various other scripts that are also included, see this link.  I also encourage you to open a command prompt, navigate to your system32 directory on your IIS6 machine then run a "dir iis*.vbs" command and check out the new scripts.

The second way is a bit more obscure and requires that you run the tlist.exe command, which comes with the Debugging Tools for Windows.  Here is an example of that, which is fairly interesting:

C:\Program Files\Debugging Tools for Windows>tlist -v
0 1172 w3wp.exe
Command Line: c:\WINDOWS\system32\inetsrv\w3wp.exe -a \\.\pipe\iisipmec19a7d8-c08d-42f4-b2c9-69d7cfe28c74 -ap "StsAdminAppPool"
0 2656 w3wp.exe
Command Line: c:\WINDOWS\system32\inetsrv\w3wp.exe -a \\.\pipe\iisipm4bc52071-9ebb-4e39-9ba5-b256b4be4014 -t 20 -ap "MSSharePointAppPool"
0 2148 w3wp.exe
Command Line: c:\WINDOWS\system32\inetsrv\w3wp.exe -a \\.\pipe\iisipmfa132134-c1ed-47d4-be52-417ce5a59e63 -t 20 -ap "WMS App Pool"
0 3604 w3wp.exe Title: OLEChannelWnd
Command Line: c:\WINDOWS\system32\inetsrv\w3wp.exe -a \\.\pipe\iisipmdd93382a-645a-467c-bdbd-07c3ad6833a4 -t 20 -ap "defaultwebsite"

Note:  I snipped all other processes and only left the 4 W3WP.EXE processes that we're interested in.

If you look carefully above, you will see the name of the Application Pool specified directly on the command line for W3WP.EXE!  You mean you can call this thing directly?  Interestingly enough, there are documented command line options for it.  Interesting?  No?  Bonus points if you can tell me why the last application pool has a Title of "OLEChannelWnd" :)

For those interested parties still left reading, here are the command line options for W3WP.EXE that are documented via -?:

C:\WIN2003\system32\inetsrv>w3wp -?
Usage: w3wp [options] 
  
        -debug 
                 This option is required for launching from the command line. 
                 If not provided the app pool name, default url, and site id 
                 will be defaulted to 
                         AppPoolName = StandAloneAppPool 
                         URL list    = http://*:80/:80/:80/ 
                         Site Id     = 1 
  
        -ap <Application Pool Name> 
                 Indicates the application pool name 
                 that will queue requests for the 
                 worker process.  No other worker processes 
                 with this name can be running at the 
                 same time as this one 
  
        -d <URL List> 
                 Indicates the urls to listen to. 
                 Examples:les: 
                         http://*:80/:80/ 
                         http://HostString:80/ 
                         http://111.11.111.11:80:111.11.111.11/ 
                         http://HostString:80:111.11.111.11/ 
  
        -s <#> 
                 Which site are the urls provided associated with. 
                 The site number is used to access data from the metabase 
                 for processing the requests.sts.
 
 

Good night...for now.

posted @ 2010-02-10 17:44  Benny Ng  阅读(510)  评论(0编辑  收藏  举报