为什么 lsof 会抱怨 tracefs?

Zil*_*ilk 14 filesystem lsof

每次执行都会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)
Run Code Online (Sandbox Code Playgroud)

(这是在 Ubuntu 15.10 上,完全更新)

正常运行时挂载TraceFS是否正常?
如果是这样,我怎么能告诉lsof跳过它?

Enz*_*zoR 13

您问题的答案在于文件权限:

尝试:

$ 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
...
Run Code Online (Sandbox Code Playgroud)

所以,普通用户是不允许访问的/sys/kernel/debug/tracing,似乎也没有办法要求lsof避免访问它。

然后我们可以讨论这是否是一个错误,但你的问题的答案归结为这个。

  • 我在 16.04,它并没有消失 - 仍然是一个问题。 (3认同)