为什么lsof会抱怨tracefs?
每次执行lsof
都会发出有关TraceFS的警告:
$ lsof any-file lsof: WARNING: can't stat() tracefs file system /sys/kernel/debug/tracing Output information may be incomplete. $ mount | grep trace tracefs on /sys/kernel/debug/tracing type tracefs (rw,relatime)
(这是在Ubuntu 15.10上,完全更新)
在正常操作期间安装TraceFS是否正常?
如果是这样,我怎么能告诉lsof
跳过它?
您的问题的答案在于文件权限:
尝试:
$ ls -l /sys/kernel/debug/tracing ls: cannot access '/sys/kernel/debug/tracing': Permission denied $ ls -l /sys/kernel total 0 ... drwx------ 31 root root 0 2016-06-15 11:06:47 debug ...
因此,不允许普通用户访问/sys/kernel/debug/tracing
,似乎没有办法让lsof
避免访问它。
然后我们可以讨论这是否是一个错误,但你的问题的答案归结为这个。
我遇到了同样的问题,这个答案帮助我更好地理解了这个问题。
我发现删除烦人警告的一种方法是卸载debugfs
mount | grep debugfs none on /sys/kernel/debug type debugfs (rw,_netdev) sudo umount $(mount | grep debugfs | awk '{print $3}')
如果您现在运行lsof
,则没有警告。