我想非常详细地捕获文件系统上的所有系统调用。例如。对于write
系统调用,我想记录目标文件、写入的字节数和写入发生的偏移量。
目前,我想用inotify
实现这样一个记录器。但是,它无法提供此类详细信息。例如。对于 write
,它不提供写入的字节数和偏移量。
另一种方法是使用 bbfs在 fuse 上实现。但是,它会在记录系统调用时引入开销,并将用户操作延迟到某种无法容忍的程度。
是否有一些库可以捕获文件系统上的系统调用,就像 ptrace
记录进程发出的所有系统调用一样?
最佳答案
Linux 中有许多 跟踪选项。但这听起来像是一个非常简单的案例。您是否仅使用 strace
实用程序进行了调查?它有很多选项可以控制跟踪粒度,将记录参数到几乎所有系统调用(如果需要,包括缓冲区内容)并且存在并且基本上无处不在,除了安装包之外没有任何设置。
关于linux - 在 Linux 平台上捕获文件系统调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16923526/