有没有办法检测 Windows 中某个进程正在更改什么文件?
我创建了一个进程 - my_python_script.exe(我已经编译的python脚本),我想使用Windows工具(例如procmon.exe或进程资源管理器)知道该进程更改了哪些文件。
在这篇文章中:检测 Windows 上哪个进程正在更改文件 我发现完全相反的情况(哪些进程改变了特定的文件)。
但我想知道如何找到特定过程正在更改的所有文件。
谢谢。
答案1
答案2
这很容易做到,您已经知道您需要使用的程序,它是“进程监视器”(procmon.exe
),您只需要使用不同的过滤器。
首先,您需要通过以下任一方式设置过滤器以包含您想要监控的程序:
PIDis$pid
然后Include
$pid
是实际 pid 的占位符,即7552
或:Process Nameis$name
然后Include
$name
是实际进程名称的占位符,即explorer.exe
您可以通过任务管理器( )获取process name
并左键单击“更多详细信息”,然后右键单击资源值栏并检查“PID”和“进程名称”。pid
taskmgr.exe
上述两个选项都可以使用,而且效果完全相同,它们将procmon
只显示进程的活动,不同之处PID
在于每次进程启动时,它们都会发生变化,但输入起来可能更容易。进程名称可能更难输入,但不会改变(除非您重命名可执行文件)。
OperationisWriteFile
然后需要设置过滤器,Include以显示该过程所做的文件更改。WriteFile
是修改文件时记录的操作。
Apply然后点击OK,使过滤器生效。