首先编写进程监视器
首先介绍一下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
这里进程的加载速度有点慢,可以考虑开启多线程,不过这里应该是指令密集型的程序,开启多线程加的速度应该不会很快