Windows

Windows:找出哪個程序產生了另一個程序

  • July 12, 2017

我的過程有點像下面的情況。我們有 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 解決方案感到滿意。

您可以wmic process get Caption,ParentProcessId,ProcessId在命令行中使用列表。或者使用SysInternals Suite中的Process Explorer作為 GUI 選項。

只是為了跟進@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 相關的命令:)

引用自:https://serverfault.com/questions/861508