在Windows上查找父进程ID

jos*_*inm 38 windows cmd

问题

给定远程Windows主机上的进程ID和命令行访问权限,如何找到其父进程的PID?

鉴于Marc B的答案,我们可以使用WMIC(此处的命令示例)并执行以下操作:

wmic process where (processid=PROCID_HERE) get parentprocessid

Mar*_*c B 55

C:\> wmic process get processid,parentprocessid,executablepath|find "process id goes here"
Run Code Online (Sandbox Code Playgroud)

  • 不会让我感到惊讶.一致性并不是BillCo的标志性特征. (2认同)
  • 我收到此错误:FIND:参数格式不正确尝试使用“18640”和 18640(不带“s) (2认同)

uff*_*lum 7

在 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
Run Code Online (Sandbox Code Playgroud)


rob*_*nst 5

根据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
)
Run Code Online (Sandbox Code Playgroud)