Bei jeder Ausführung wird lsof
eine Warnung zum TraceFS ausgegeben:
$ 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)
(Dies ist unter Ubuntu 15.10, vollständig aktualisiert)
Ist es normal, dass TraceFS während des normalen Betriebs bereitgestellt wird?
Wenn ja, wie kann ich sagen, dass ich es lsof
überspringen soll?
filesystem
lsof
Zilk
quelle
quelle
lsof
als normaler Benutzer ist jetzt verschwunden.Ich hatte das gleiche Problem und diese Antwort half mir, das Problem ein wenig besser zu verstehen.
Ich habe herausgefunden, dass eine Möglichkeit, die lästige Warnung zu entfernen, darin besteht, Debugfs umzumischen
Wenn Sie jetzt laufen,
lsof
gibt es keine Warnung.quelle
umount: /sys/kernel/debug: target is busy.
Das Problem ist, dass Sie keine Berechtigung zum Zugriff auf das debugfs-Verzeichnis haben. Das Verzeichnis tracefs wurde erstellt, damit Benutzer das Ablaufverfolgungsverzeichnis direkt unter / sys / kernel / tracing bereitstellen können und Debugfs nicht aktivieren müssen. Aus Gründen der Abwärtskompatibilität werden beim Mounten des debugfs-Verzeichnisses tracefs automatisch im Verzeichnis "tracing" von debugfs gemountet.
Wenn Sie jetzt lsof ausführen, werden die Datei / proc / filesystems sowie / proc / mounts angezeigt. Es sieht, dass tracefs unter / sys / kernel / debug / tracing gemountet ist, und versucht daher, es zu statisieren. Da / sys / kernel / debug nicht zulässt, dass Nicht-Root-Benutzer darin sehen, wird leider die Fehlermeldung angezeigt, wenn Sie versuchen, das Verzeichnis "tracing" in / sys / kernel / debug anzugeben. Wenn Sie das debugfs-Verzeichnis aushängen, wird die Warnung ausgeblendet.
quelle
Die Warnung wird an stderr geschrieben. Sie können dies jederzeit einfach nach / dev / null umleiten:
Prost,
quelle