如何找到程序打开/读取/写入的所有文件?

如何找到程序打开/读取/写入的所有文件?

我只是想知道是否有适用于 Mac 的免费软件可以检查在执行给定软件期间打开/读取或写入了哪些文件,并将它们返回为三图。我确信我以前见过类似的东西,但我记不起它的名字了。

提前致谢!

答案1

你可能正在考虑七人,但它只显示已更改的文件(而不是刚刚读取的文件),并且显示所有更改而不仅仅是特定程序的更改。

其他可能不太准确的答案:在活动监视器中,您可以“检查”某个进程并(如果您拥有该进程)查看它打开了哪些文件。在终端中,您可以使用命令lsof列出所有进程打开的文件(如果您是管理员,您可以使用该命令sudo lsof查看不属于您的进程)。还可以查看终端命令fs_usage、、和。filebyproc.d最后,如果您有 Xcode(Apple 的开发者工具套件),请查看opensnooprwsnoop仪器

答案2

七人还可以选择包含刚刚打开的文件:

opensnoop打印进程打开的文件:

sudo opensnoop -n processname

答案3

对于我来说,macOS Venturaopensnoop实际上没有起作用,但是确实lsof完成了工作。

top -l 1     #find the process ID of the FortiClientUpdater
sudo lsof -p 18592     #look for a suspicious entry, in my case the last one
open /private/var/folders/w3/my9vhvh48xjb4h0059bc_ssh0000gn/T/fctupdate/obj_1_TGiK3k

这就是安装程序的临时位置。

相关内容