Как найти нужный процесс?

Последнее время я только тем и занимался, что копался в недрах системных служб в отладчике. Половина из них использует “svchost.exe” в качестве исполняемого файла, что довольно неудобно, когда пытаешься подсоединиться к нужному процессу. Никогда не знаешь какой именно из многочисленных “svchost.exe” нужно выбрать.

В Vista эта проблема решается наличием дополнительной страницы “Services” в Task Manager. Там в контекстном меню службы есть пункт “Go to the process”, который подсвечивает искомый процесс.

В XP этой страницы нет, но оказалось что нужный идентификатор можно получить через WMI. Например вот так:

get-wmiobject Win32_Service | where-object { $_.Name -eq "rpcss" }

Строка “ProcessId” как раз и есть то, что нам нужно:

ExitCode  : 0
Name      : RpcSs
ProcessId : 1292
StartMode : Auto
State     : Running
Status    : OK
comments powered by Disqus