我想捕获文件系统上的所有系统调用的细节。例如。对于write
系统调用,我想记录目标文件,写入的字节数和发生写入的偏移量。在Linux平台上捕获文件系统系统调用
目前,我想用inotify
来实现这样的记录器。但是,它不能提供这样的细节。例如。对于write
,它不提供写入的字节数和偏移量。 另一种方法是在保险丝上使用bbfs。但是,它会在记录系统调用并将用户操作延迟到一些不可容忍的程度时引入开销。
是否有一些库可以捕获文件系统上的系统调用,就像登录进程发出的所有系统调用时一样?ptrace
?
不,我没有调查'strace'。谢谢你的提示。 –
只需浏览手册页,似乎'strace'是面向过程的。尽管我希望在不区分进程的情况下记录文件系统上的所有系统调用。这可以吗? –
我错过了那一点。如果您想在内核级别进行跟踪,您需要查看诸如Systemtap和LTTNG之类的内容。这些功能非常强大,但比诸如strace之类的要多得多。基本上,当内核遇到特定事件时,你会编写内核中很少的代码位,并且充分利用这些工具要求你对内核的组织方式有一个合理的了解。 –