48 votes

PID du pool d'applications IIS

Quelqu'un connaît-il un moyen d'obtenir le pool d'applications associé à un ID de processus? J'utilise Win32_Process pour interroger les services W3WP et renvoyer le PID maintenant. J'essaie d'obtenir le pool d'applications qui lui est associé.

98voto

Morten Points 1891

Sur Windows Server 2008, cela a changé.

dans systemroot \ system32 \ inetsrv vous trouvez l'appcmd.exe

en utilisant

appcmd list wp

vous obtenez une liste de tous les processus de travail et du pool d'appels qu'ils desservent.

18voto

Jim Points 550

Si vous êtes juste en utilisant la ligne de commande pour le comprendre ad-hoc, vous pouvez le faire aussi:

Le script est déjà placé dans le dossier systemroot\system32 sur Windows Server 2003 alors allez simplement dans votre Invite de Commande et tapez iisapp.vbs (l' .vbs est en option) et vous aurez instantanément une liste de tout ce que l'Application de la Piscine de l'information que vous avez toujours voulu savoir. Vous pouvez avoir besoin de tapez cscript iisapp.vbs si CScript n'est pas votre défaut de script WSH hôte.

Voyons un exemple de la sortie:

W3WP.exe PID: 1468 AppPoolId: AppPoolForSite1.com
W3WP.exe PID: 3056 AppPoolId: AppPoolForSite2.com
W3WP.exe PID: 1316 AppPoolId: AppPoolForSite3.com

Directement de la bouche des chevaux, des documents Microsoft ce:

http://www.microsoft.com/resources/documentation/WindowsServ/2003

8voto

Grant Holliday Points 5748

Si vous utilisez Windows Server 2008 et que vous voulez UNIQUEMENT le PID pour alimenter un autre script ou une autre commande, vous pouvez utiliser ceci:

 c:\windows\system32\inetsrv\appcmd list wps /apppool.name:"My Application Pool" /text:WP.NAME
 

Par exemple, pour créer un script de commandes qui crée une image mémoire d'un pool d'applications particulier, utilisez ceci:

 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
 

8voto

Dan Bailiff Points 638

Je viens de découvrir que vous pouvez également trouver cela dans l'interface utilisateur d'IIS 7. Sélectionnez le nœud de votre serveur Web et ouvrez «Processus de travail». Cela affichera le nom de chaque pool d'applications avec son ID de processus et les détails d'utilisation.

3voto

Chris Ballance Points 17329
 ServerManager serverManager = new ServerManager();
ApplicationPoolCollection applicationPoolCollection = serverManager.ApplicationPools;
 

Essayez de travailler avec cela et vous obtiendrez ce dont vous avez besoin.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X