2024-05-23 14:06:06 发布
网友
我正在编写一个小的python脚本,它将从我运行的Windows的vm中获取信息。
目前,我可以使用以下方法列出32位XP计算机上的进程:
http://code.activestate.com/recipes/305279/
是否有可能以某种方式检测运行的windows版本并执行一种不同的方法来获取64位计算机上的进程,我正在尝试从64位Vista和64位windows 7获取进程。
有什么想法吗?
在activestate上还有另一个配方,它做了类似的事情,但是使用了Performance Data Helper library(PDH)。
我已经在我的Windows7 64位机上测试过了,它在那里工作——所以大概相同的功能在32位和64位机上都能工作。
你可以在这里找到食谱:http://code.activestate.com/recipes/303339/
另一种方法是使用WMI,Python中有一个使用wmi模块的示例:
http://timgolden.me.uk/python/wmi/cookbook.html
import wmi c = wmi.WMI () for process in c.Win32_Process (): print process.ProcessId, process.Name
如果不想依赖任何额外安装的模块,那么可以分析wmic的输出,例如:
c:\> wmic process get description,executablepath ... explorer.exe C:\Windows\explorer.exe cmd.exe C:\Windows\SysWOW64\cmd.exe conhost.exe C:\Windows\system32\conhost.exe ...
引用:http://geekpedia.wordpress.com/2008/08/18/use-command-line-to-track-windows-processes/
出于类似的目的,我使用了psutil库。一些提示:
psutil.pids()
process = psutil.Process(pid)
process.kill
process.terminate()
在windows上的Installation-pip将从源代码进行安装(这意味着编译),因此您可能希望从https://pypi.python.org/pypi/psutil/#downloads下载二进制安装。
pip
在activestate上还有另一个配方,它做了类似的事情,但是使用了Performance Data Helper library(PDH)。
我已经在我的Windows7 64位机上测试过了,它在那里工作——所以大概相同的功能在32位和64位机上都能工作。
你可以在这里找到食谱:http://code.activestate.com/recipes/303339/
另一种方法是使用WMI,Python中有一个使用wmi模块的示例:
http://timgolden.me.uk/python/wmi/cookbook.html
如果不想依赖任何额外安装的模块,那么可以分析wmic的输出,例如:
引用:http://geekpedia.wordpress.com/2008/08/18/use-command-line-to-track-windows-processes/
出于类似的目的,我使用了psutil库。一些提示:
psutil.pids()
(reference)列出进程process = psutil.Process(pid)
(reference)检查进程信息process.kill
或process.terminate()
在windows上的Installation-
pip
将从源代码进行安装(这意味着编译),因此您可能希望从https://pypi.python.org/pypi/psutil/#downloads下载二进制安装。相关问题 更多 >
编程相关推荐