我正在编写一个 Python 脚本,用于获取有关 PC 上运行的进程(PID、命令行等)的信息。
在我的 Windows 7 PC 上,我可以使用“wmic”并使用它的输出:
output = subprocess.Popen(['wmic process get creationdate,commandline,processid'], stdout=subprocess.PIPE, shell=True).communicate()[0]
我可以从此输出中获得的信息示例:
进程 PID 开始时间命令:blah.exe 1234 Thu Jun 06 15:33:40 2013 C:\blah\blah.exe -a -b blah.txt
这为我提供了我需要的所有信息......但是,并非所有机器都会让我使用“wmic”,因为我不是管理员。
我可以使用“任务列表”,但它没有给我 wmic 提供的“命令行”信息。
我不能使用“psutils”(或“wmi”模块),因为它没有安装在我需要它工作的任何 PC 上,我不想在所有这些 PC 上安装管理员安装模块
关于如何使用标准 Python 2.6 获取上述过程信息的任何想法?
在此先感谢,尼克
Windows XP/7 上的 Python 2.6
==================================================== ====================
编辑(2013 年 6 月 12 日):
我正在尝试按照下面的建议进行操作,但是遇到了麻烦...我已将 psutil 目录(psutil-0.7.1)与我的脚本放在同一目录中,并将以下内容添加到我的脚本中:
路径 = '.\psutil-0.7.1'
sys.path.append(路径)
导入psutil
我现在收到以下错误:
回溯(最近一次通话最后):
File "C:\Users\nickw\Desktop\ProcessMonitor\ProcessMonitor_MODPS2.py", line 21, in <module>
import psutil
File ".\psutil-0.7.1\psutil\__init__.py", line 77, in <module>
import psutil._psmswindows as _psplatform
File ".\psutil-0.7.1\psutil\_psmswindows.py", line 15, in <module>
import _psutil_mswindows
ImportError: No module named _psutil_mswindows
知道我做错了什么吗?