我在文本文件中有以下内容:
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
abc.exe 9152 Console 1 14,988 K
abc.exe 7964 Console 1 89,188 K
需要注意的重要事项是两个进程都具有相同的名称(abc.exe)。现在我需要过滤其中一个进程的PID。我正在考虑将tasklist的内容输出到文本文件,然后从我想要的行中过滤PID。我最好如何使用PowerShell脚本进行此操作?我正在考虑正则表达式,但无法得到我想要的确切结果。这是两个过程之间的关系:
Parent.exe
->abc.exe
->abc.exe
答案 0 :(得分:1)
什么工具生成文本文件?你能修改生成过程信息表的工具吗?
不会使用Get-Process
cmdlet收集进程父/子层次结构。请考虑使用Get-WMIObject win32_process
,因为其输出包含父进程的字段,恰当地命名为ParentProcessId
。请注意,Windows会回收进程ID,因此该字段可能指向不存在的进程或另一个与手头进程无关的进程。请参阅MSDN上的MS文档。