本文主要是介绍5.13 BCC工具之urandomread.py简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一,工具简介
urandomread工具用于演示如何在内核跟踪点进行插桩。
二,代码示例
注意,该示例要求内核版本Linux 4.7+(并在内核编译选型中使能BPF_PROG_TYPE_TRACEPOINT)。
#!/usr/bin/pythonfrom __future__ import print_function
from bcc import BPF
from bcc.utils import printb# 加载BPF程序
b = BPF(text="""
TRACEPOINT_PROBE(random, urandom_read) {// args is from /sys/kernel/debug/tracing/events/random/urandom_read/formatbpf_trace_printk("%d\\n", args->got_bits);return 0;
}
""")#打印头信息
print("%-18s %-16s %-6s %s" % ("TIME(s)", "COMM", "PID", "GOTBITS"))#格式化输出
while 1:try:(task, pid, cpu, flags, ts, msg) = b.trace_fields()except ValueError:continueexcept KeyboardInterrupt:exit()printb(b"%-18.9f %-16s %-6d %s" % (ts, task, pid, msg))
三,运行示例
在运行该脚本前,需要另起一个终端执行下面的
这篇关于5.13 BCC工具之urandomread.py简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!