Setiap eksekusi lsof
masalah peringatan tentang 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)
(Ini di Ubuntu 15.10, sepenuhnya diperbarui)
Apakah normal bagi TraceFS untuk dipasang selama operasi normal?
Jika demikian, bagaimana saya bisa meminta lsof
untuk melewatinya?
filesystem
lsof
Zilk
sumber
sumber
lsof
sebagai pengguna biasa kini telah hilang.Saya memiliki masalah yang sama dan jawaban ini membantu saya untuk memahami masalah sedikit lebih baik.
Saya telah menemukan bahwa salah satu cara untuk menghapus peringatan yang mengganggu adalah dengan umount debugfs
Jika Anda sekarang menjalankan
lsof
tidak ada peringatan.sumber
umount: /sys/kernel/debug: target is busy.
Masalahnya adalah Anda tidak memiliki izin untuk mengakses direktori debugfs. Direktori tracefs dibuat untuk memungkinkan orang memasang direktori tracing secara langsung di / sys / kernel / tracing dan tidak memerlukan debugf yang diaktifkan. Tetapi untuk kompatibilitas, ketika memasang direktori debugfs, ia akan secara otomatis me-mount tracefs di direktori "tracing" dari debugfs.
Sekarang ketika Anda menjalankan lsof, ia akan melihat file / proc / filesystems dan / proc / mounts. Ia melihat bahwa tracefs di-mount di / sys / kernel / debug / tracing, dan dengan demikian mencoba untuk membuatnya stat. Sayangnya, karena / sys / kernel / debug tidak akan membiarkan pengguna non-root melihat di dalamnya, Anda mendapatkan pesan kesalahan ketika mencoba untuk stat direktori "tracing" dari dalam / sys / kernel / debug. Jika Anda melepas direktori debugfs, peringatan itu akan hilang.
sumber
Peringatan ini ditulis untuk stderr. Anda selalu bisa mengarahkan ini ke / dev / null:
Bersulang,
sumber