使用Python处理信息,而不是使用wmi、psutil、tasklis

2024-04-26 05:03:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个Python脚本,它可以获取在PC上运行的进程(PID、命令行等)的信息

在我的Windows 7 PC上,我可以使用“wmic”并使用它的输出:

输出=子流程.Popen(['wmic process get creationdate,commandline,processid'],标准输出=子流程.管道,shell=True).communicate()[0]

我可以从这个输出中获得的信息示例:

进程PID开始时间命令: blah.exe文件1234 2013年6月6日星期四15:33:40 C:\blah\blah.exe文件-a-b废话.txt

这给了我所有我需要的信息。。。但是不是所有的机器都允许我使用'wmic',因为我不是管理员。在

我可以使用'tasklist',但它不能像wmic那样提供'commandline'信息。在

我不能使用'psutils'(或'wmi'模块),因为它没有安装在我需要它工作的任何一台电脑上,而且我不想让管理安装模块在所有这些电脑上

对于如何使用标准Python2.6获取上述进程信息有什么想法?在

提前谢谢你, 尼克

Windows XP/7上的PYTHON 2.6

===========================================================================

编辑(2013年6月12日):

我正试着按照下面的建议去做,但是遇到了麻烦。。。将脚本til-1添加到我的目录中(直到将脚本放入我的目录中):

路径='.\psutil-0.7.1'

在系统路径追加(路径)

导入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

你知道我做错什么了吗?在


Tags: inpyimport路径脚本信息进程line
1条回答
网友
1楼 · 发布于 2024-04-26 05:03:27

检索进程的命令行的技术有点老套,但自从XP以来就包含在WMI中。基本上,它在读取另一个进程的内存。有关详细信息,请参见Getting another process command line in Windows及其链接。在

所以,你也一样

  • ctypes或其他方法,如上面的链接所示,或

  • 以某种方式,利用现有的模块来为您做到这一点。有^{}使多个文件更容易实现,而{a3}则在文件系统的任何地方创建整个环境,后者可能是一种过度使用。

相关问题 更多 >