首先编写进程监视器
首先介绍一下pywin32
Python extensions for Microsoft Windows Provides access to much of the Win32 API , the ability to create and use COM objects, and the Pythonwin environment.
再介绍一下wmi,wmi主要用于
Windows驱动程序模型的一组扩展,它提供操作系统接口,检测组件可通过该接口提供信息和通知。
使用一个.csv文件,用于存储进程信息
然后初始化进程监视器,再创建进程。
将进程信息写入.csv文件中
import os
import wmi
def log_message(message):
f=open("message.csv","ab")
f.write("%s\r\n"%message)
f.close()
log_message("Time,User,Executable,CommandLine,PID,Parent PID,Privileges")
c=wmi.WMI()
process_monitor=c.Win32_Process.watch_for("creation")
while True:
try:
new_process=process_monitor()
proc_owner=new_process.GetOwner()
proc_owner="%s\\%s"%(proc_owner[0],proc_owner[2])
create_data=new_process.CreationDate
executable=new_process.ExecutablePath
cmdline = new_process.CommandLine
pid = new_process.ProcessId
parent_pid = new_process.ParentProcessId
privileges = "N/A"
process_log_message="%s,%s,%s,%s,%s,%s,%s\r\n"%(create_data,proc_owner,executable,cmdline,pid,parent_pid,privileges)
print process_log_message
log_message(process_log_message)
except:
pass
这里进程的加载速度有点慢,可以考虑开启多线程,不过这里应该是指令密集型的程序,开启多线程加的速度应该不会很快

