Кто-нибудь знает, как получить пул приложений, связанный с идентификатором процесса? Я использую Win32_Process для запроса служб W3WP и возвращения PID теперь, я пытаюсь связать с ним пул приложений.Пул приложений IIS PID
ответ
Если вы только с помощью командной строки, чтобы понять это Ad-Hoc вы можете сделать это слишком:
Сценарий уже помещен в \ system32 на Windows Server 2003, так просто перейдите в командную строку и введите в iisapp.vbs (.vbs не является обязательным), и у вас будет мгновенный список всей информации о пуле приложений, которую вы всегда хотели знать. Вам может потребоваться ввести cscript iisapp.vbs, если CScript не является вашим WSH-скриптом по умолчанию.
Давайте посмотрим пример выхода:
W3WP.exe PID: 1468 AppPoolId: AppPoolForSite1.com
W3WP.exe PID: 3056 AppPoolId: AppPoolForSite2.com
W3WP.exe PID: 1316 AppPoolId: AppPoolForSite3.com
Прямая из первоисточника, Microsoft документов this.
ServerManager serverManager = new ServerManager();
ApplicationPoolCollection applicationPoolCollection = serverManager.ApplicationPools;
Попробуйте работать с этим, и он должен получить то, что вам нужно.
В Windows Server 2008 это изменилось.
в системный_корневой_каталог \ system32 \ Inetsrv вы найдете appcmd.exe
с использованием
Appcmd список WP
вы получите список всех рабочих процессов и которые AppPool они порция.
Если вы работаете на Windows Server 2008, и вы хотите только PID, чтобы подать на другой сценарий или команды, вы можете использовать это:
c:\windows\system32\inetsrv\appcmd list wps /apppool.name:"My Application Pool" /text:WP.NAME
Например, чтобы создать пакетный сценарий, который создает дамп памяти конкретного пула приложений, используйте:
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
Это заставило меня начать, но мне все равно, временный файл. Я изменил его, чтобы извлечь PID в переменную со следующим: for/F "tokens = 2" %% i in ('% SystemRoot%/system32/inetsrv/appcmd list wps /apppool.name:MyAppPool') установить pid = %% i. – Dono
Вы можете использовать диспетчер задач для просмотра имени пользователя, под которым процесс запускается (что в целом таким же, как имя пула приложений) и процесс ID, но вы должны включить эти столбцы в диспетчере задач, а также имя пользователя, в котором работает процесс, совпадает с именем пула приложений (по умолчанию это известно, если только вы не используете Sharepoint и т. п.).
Также обратите внимание, что все методы, перечисленные на этой странице, могут отображать только те процессы, которые в настоящее время запущены, а это означает, что если ваш конкретный процесс отключился из-за простоев, вы должны сначала использовать сайт, чтобы привести процесс в список, и в вашем случае это означает, что вы должны сначала получить доступ ко всем сайтам, чтобы убедиться, что процесс, связанный с ними, запускается.
Почему downvote? –
Потому что перечисление 10 процессов W3WP и их PID не сообщает вам, какой из них является для этого пула приложений ... – Shaamaan
@Shaamaan Я, вероятно, не был достаточно ясен (теперь я редактировал сообщение, чтобы сделать его более ясным), но это «Имя пользователя», которое выполняется под этим процессом, обычно совпадает с именем пула приложений (проверьте его, оно должно быть истинным в большинстве, если не во всех ситуациях). –
Я только что обнаружил, что вы также можете найти это в пользовательском интерфейсе для IIS 7. Выберите узел веб-сервера и откройте «Рабочие процессы». Это покажет имя каждого пула приложений, а также его идентификатор процесса и данные об использовании.
PID из пула приложений и давая свое название:
$AppPoolName = 'AppPoolForSite1'
(Get-ItemProperty IIS:\AppPools\$AppPoolName -Name WorkerProcesses).Collection.processId
Это должно сделать это.
public string getAppPoolName(int pid)
{
ServerManager serverManager = new ServerManager();
ApplicationPoolCollection apc = serverManager.ApplicationPools;
foreach (var app in apc)
{
var workers = app.WorkerProcesses;
foreach (var w in workers)
{
if (w.ProcessId == pid)
{
return app.Name;
}
}
}
return string.Empty;
}
Открыть IIS Manager (Run> Inetmgr), выберите корневой уровень слева навигация сайта дерева и из «Особенности View Panel» выберите «рабочие процессы»
Нажмите на «рабочие процессах», чтобы получить подробную информацию всего рабочего процесса, который в настоящее время работает
из этого списка вы получите имя пула приложений, идентификатор процесса
- 1. Пул приложений IIS
- 2. Пул приложений IIS и кэширование
- 3. Создать пул приложений IIS 6
- 4. Пул приложений IIS продолжает сбой
- 5. Пул приложений IIS, управление памятью
- 6. Пул приложений IIS и сборка мусора .NET
- 7. Quartz.net периодически перезаписывает пул приложений IIS
- 8. Почему пул приложений IIS не создан вообще?
- 9. Что заставляет пул приложений в IIS перерабатывать?
- 10. Пул приложений удален после сброса iis
- 11. IIS 6 - Пул приложений продолжает останавливаться
- 12. Пул приложений IIS: изменить настройки программные
- 13. IIS 7.5 Приложения и пул приложений
- 14. Пул приложений IIS 6 несовместим автоматически отключен
- 15. Включить 32-битный пул приложений IIS C#
- 16. Не удалось удалить Пул приложений от IIS
- 17. как отладить пул приложений iis 7.5?
- 18. Пул приложений остановлен автоматически в IIS 7
- 19. Пул приложений IIS/перезагрузка и ASP.NET
- 20. Пул приложений IIS не при включении сервера?
- 21. MSDeploy, когда пул приложений IIS не работает
- 22. App Приостановить пул приложений IIS .Net 4.5.1
- 23. Может ли Web Deploy создать пул приложений и приложений IIS
- 24. Пул приложений IIS7
- 25. Пул приложений выключая
- 26. Аварийный пул приложений IIS7
- 27. Octopus Развертывание в пул IIS
- 28. Asp.net IIS6 - пул приложений рецикл
- 29. Как проверить последний пул приложений
- 30. Почему пул приложений автоматически останавливается?
Это, кажется, не список приложений пулы, которые работают как пользователь машины (SYSTEM/NETWORK SERVICE) .. . Есть предположения? – Doug
Я могу просто показать роли NETWORK SERVICE w3wp. Возможно, вы не выполнили команду с правами администратора или процесс W3WP был переработан? – Shaamaan