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 解決方案感到滿意。
您可以
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 相關的命令:)