Поиск идентификатора родительского процесса в Windows - PullRequest
38 голосов
/ 20 сентября 2011

Задача

При наличии идентификатора процесса и доступа к командной строке на удаленном хосте Windows, как вы можете найти PID его родителя?

Решение

Учитывая ответ Марка Б, мы можем использовать WMIC (Примеры команд здесь ) и сделать что-то вроде этого:

wmic process where (processid=PROCID_HERE) get parentprocessid

Ответы [ 3 ]

54 голосов
/ 20 сентября 2011
C:\> wmic process get processid,parentprocessid,executablepath|find "process id goes here"
5 голосов
/ 27 апреля 2015

Основываясь на решении joslinm в вопросе , вот фрагмент того, как использовать это в пакетном скрипте:

set PID=<this is the child process ID>
for /f "usebackq tokens=2 delims==" %%a in (`wmic process where ^(processid^=%PID%^) get parentprocessid /value`) do (
    set PARENT_PID=%%a
)
2 голосов
/ 16 января 2018

В PowerShell:

PS> wmic process  where '(processid=4632)' get 'processid,parentprocessid,executablepath'
ExecutablePath                                              ParentProcessId  ProcessId
C:\Program Files\Docker\Docker\Resources\com.docker.db.exe  4488             4632
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...