相当于 Linux 的 SysInternals FileMon 吗?

相当于 Linux 的 SysInternals FileMon 吗?

我正在尝试在 Ubuntu 上调试一个应用程序 - 我需要监听文件打开尝试(即使对于不存在的文件)。

进程监控(原名文件管理器) 可以在 Windows 上使用 - Ubuntu 的实用程序带上有什么?

谢谢!

阿什利

答案1

您正在寻找 strace。请查看此处:https://wiki.ubuntu.com/Strace

答案2

这取决于你想要什么:

  • 从大局来看通知查看任何进程进行的所有文件访问。

  • 简单来说,strace 可以让你观察特定进程的系统调用。strace 非常棒。strace -f -eopen $cmd例如,你可以通过执行 来跟踪进程对“open”的调用。手册页当然有完整的语法细节。

答案3

SGI 有一个您可能想尝试的工具:http://oss.sgi.com/projects/fam/

答案4

以下是使用 strace 跟踪文件更改的示例:

strace -f -e trace=file -p7546 -o /tmp/outputfile

-f确保捕获来自子进程的事件。
-e trace=file表示我们应该捕获与文件相关的系统调用(例如statopenfutex
-p是进程ID(从ps -aux或其他方式检索) -o指定的输出文件(可能有很多数据,您可以改用grep作为过滤器。

相关内容