41.5. 监控使用 SystemTap 文件的读取和写入


您可以使用 inodewatch.stp SystemTap 脚本来实时从文件中读取和写入。

先决条件

流程

  • 运行 inodewatch.stp 脚本。
# stap --example inodewatch.stp 'argument1' 'argument2' 'argument3'
Copy to Clipboard Toggle word wrap

脚本 inodewatch.stp 使用三个命令行参数:

  1. 文件的主设备号。
  2. 文件的副设备号。
  3. 文件的 inode 号。

您可以使用以下方法获取这些信息:

# stat -c '%D %i' filename
Copy to Clipboard Toggle word wrap

其中 filename 是绝对路径。

考虑以下示例:

# stat -c '%D %i' /etc/crontab
Copy to Clipboard Toggle word wrap

输出应类似于如下:

805 1078319
Copy to Clipboard Toggle word wrap

其中:

  • 805 是基于16 (十六进制)的设备号。最后两个数字是副设备号码,剩余的数字是主号码。
  • 1078319 是 inode 号。

要启动监控 /etc/crontab,请运行:

# stap inodewatch.stp 0x8 0x05 1078319
Copy to Clipboard Toggle word wrap

在前两个参数中,您必须为具有 16 的编号使用 0x 前缀。

输出包含以下内容:

  • 执行读取或写入进程的任何进程的名称和 ID
  • 它正在执行的功能(vfs_readvfs_write
  • 内核设备号

这个示例的输出应该类似如下:

cat(16437) vfs_read 0x800005/1078319
cat(16437) vfs_read 0x800005/1078319
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat