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