我想捕獲文件系統上的所有系統調用的細節。例如。對於write
系統調用,我想記錄目標文件,寫入的字節數和發生寫入的偏移量。在Linux平臺上捕獲文件系統系統調用
目前,我想用inotify
來實現這樣的記錄器。但是,它不能提供這樣的細節。例如。對於write
,它不提供寫入的字節數和偏移量。 另一種方法是在保險絲上使用bbfs。但是,它會在記錄系統調用並將用戶操作延遲到一些不可容忍的程度時引入開銷。
是否有一些庫可以捕獲文件系統上的系統調用,就像登錄進程發出的所有系統調用時一樣?ptrace
?
不,我沒有調查'strace'。謝謝你的提示。 –
只需瀏覽手冊頁,似乎'strace'是面向過程的。儘管我希望在不區分進程的情況下記錄文件系統上的所有系統調用。這可以嗎? –
我錯過了那一點。如果您想在內核級別進行跟蹤,您需要查看諸如Systemtap和LTTNG之類的內容。這些功能非常強大,但比諸如strace之類的要多得多。基本上,當內核遇到特定事件時,你會編寫內核中很少的代碼位,並且充分利用這些工具要求你對內核的組織方式有一個合理的瞭解。 –