获取Windows PowerShell中正在运行的进程的WMI类?

f87krz0w  于 2022-12-14  发布在  Windows
关注(0)|答案(1)|浏览(130)

我正在使用“python www.example.com arg1 arg2 ..."运行一个python脚本script.py。我想使用powershell来检查此脚本(进程)的内存消耗。下面的命令无法捕获python进程。看起来它不是win32_process?

Get-WmiObject win32_process -Filter "name like '%python'"

在这个blog by Raymond Chen中,它处理的是win32_process类。看起来我的python进程不是win32_process,因为上面的命令没有捕获它。

jmo0nnb3

jmo0nnb31#

你可以使用python的win32_process wmi类,这个类的名字末尾有.exe,与get-process略有不同:

Get-WmiObject win32_process -Filter "name = 'python.exe'" | select name,commandline

name       commandline
----       -----------
python.exe "C:\Program Files\emacs\bin\python.exe"

或者

Get-WmiObject win32_process | ? name -eq python.exe | select name,commandline

name       commandline
----       -----------
python.exe "C:\Program Files\emacs\bin\python.exe"

或者在powershell 7中,get-process具有命令行属性:

get-process python | select name,commandline

Name   CommandLine
----   -----------
python "C:\Program Files\emacs\bin\python.exe"

相关问题