一,工具简介
从工具的名字也能知道,statsnoop工具用于跟踪stat()系统调用。
那么stat()系统调用是做什么的呢?
stat()是很常见的一种系统调用。用于获取文件或文件系统的状态信息。通过调用 stat()
,你可以获取到关于指定文件或目录的详细信息,如文件大小、文件类型、文件权限、文件所有者、文件创建/修改/访问时间等。
二,代码示例
#!/usr/bin/env python
# @lint-avoid-python-3-compatibility-importsfrom __future__ import print_function
from bcc import BPF
import argparse# arguments
examples = """examples:./statsnoop # 跟踪所有stat()系统调用./statsnoop -t # 包含时间戳./statsnoop -x # 仅跟踪失败的调用./statsnoop -p 181 # 仅跟踪PID为181的进程中的stat()系统调用情况
"""
parser = argparse.ArgumentParser(description="Trace stat() syscalls",formatter_class=argparse.RawDescriptionHelpFormatter,epilog=examples)
parser.add_argument("-t", "--timestamp", action="store_true",help="include timestamp on output&#