Windows:找出哪个进程产生了另一个进程

Windows:找出哪个进程产生了另一个进程

我遇到的情况与下面的进程类似。我们有 2 个可执行文件,foo.exe 和 bar.exe。bar.exe 总是由 foo.exe 启动。我想知道如何找出哪个 bar.exe 是由哪个 foo.exe 生成的。这可能很简单,但无法解决。

Name      Pid

foo.exe   1
foo.exe   2
foo.exe   3

bar.exe   4
bar.exe   5
bar.exe   6

很高兴有 dos 或 powershell 解决方案。

答案1

您可以wmic process get Caption,ParentProcessId,ProcessId在命令行中使用列表。或者使用进程探索器来自SysInternals 套件用于 GUI 选项。

答案2

为了跟进@Lenniey 的回答,以下是格式良好的进程列表,其中包含父 ID 和过滤条件:

$IsSee = {$_.CommandLine -match 'd:\\' -or $_.Path -match 'd:\\'};
Get-WmiObject win32_process | where -FilterScript $IsSee | 
    select @{l='PID';e={$_.ProcessId}},@{l='PPID';e={$_.ParentProcessId}},
      @{l='#Thrd';e={$_.ThreadCount}},
      @{l='vmGB';e={[math]::round($_.VM/1gb,2)}},CommandLine | 
    Format-Table -wrap -auto

(本例中与驱动器 D: 相关的命令)

相关内容