$ sudo ls /sys/kernel/debug/usb/usbmon/
0s 0u 1s 1t 1u 2s 2t 2u 3s 3t 3u 4s 4t 4u
根据 usbmon文档,u
是该格式的超集t
。什么是s
?
答案1
如果我们看一下驱动程序源代码
mon_text.c
我们可以在函数中看到创建mon_text_add()
该文件的位置:(松散地)/sys
snprintf(name, NAMESZ, "%ds", busnum);
debugfs_create_file(name, 0600, mon_dir, mbus, &mon_fops_stat);
如果我们遵循,mon_fops_stat
我们会看到它的定义
mon_stat.c
其中 open 例程mon_stat_open()
创建静态数据以供以后读取
snprintf(sp->str, STAT_BUF_SIZE,
"nreaders %d events %u text_lost %u\n",
mbus->nreaders, mbus->cnt_events, mbus->cnt_text_lost);
文件开头的评论说这是调试 usbmon 本身的“s”或“stat”阅读器。
因此,如果您阅读此/sys
文件,您将得到一行内容,其中包含 usbmon 的当前用户数。其他2个字段在4.5内核中似乎没有更新。
nreaders 0 events 0 text_lost 0