Każde wykonanie lsof
wydaje ostrzeżenie o 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)
(To jest na Ubuntu 15.10, w pełni zaktualizowane)
Czy to normalne, że TraceFS jest montowany podczas normalnej pracy?
Jeśli tak, jak mogę lsof
to pominąć?
filesystem
lsof
Zilk
źródło
źródło
lsof
jako zwykły użytkownik, zniknęło.Miałem ten sam problem i ta odpowiedź pomogła mi lepiej zrozumieć problem.
Dowiedziałem się, że jednym ze sposobów usunięcia irytującego ostrzeżenia jest umount debugfs
Jeśli teraz biegniesz,
lsof
nie ma ostrzeżenia.źródło
umount: /sys/kernel/debug: target is busy.
Problem polega na tym, że nie masz uprawnień dostępu do katalogu debugfs. Katalog tracefs został stworzony, aby umożliwić montowanie katalogu śledzenia bezpośrednio w / sys / kernel / tracing i nie wymaga włączania debugfs. Ale dla kompatybilności wstecznej, podczas montowania katalogu debugfs, automatycznie montowałby tracefs w katalogu „śledzenia” debugfs.
Teraz, kiedy wykonujesz lsof, patrzy on na plik / proc / filesystems, jak również / proc / mounts. Widzi, że tracefs jest montowany w / sys / kernel / debug / tracing, i dlatego próbuje go stat. Niestety, ponieważ / sys / kernel / debug nie pozwoli użytkownikom innym niż root zobaczyć go w środku, pojawia się komunikat o błędzie podczas próby statycznej śledzenia katalogu z / sys / kernel / debug. Jeśli odmontujesz katalog debugfs, ostrzeżenie zniknie.
źródło
Ostrzeżenie jest napisane do stderr. Zawsze możesz po prostu przekierować to do / dev / null:
Twoje zdrowie,
źródło