Kann strace mir den Dateinamen/Pfad für Lese-/Schreib-Systemaufrufe anzeigen?

Kann strace mir den Dateinamen/Pfad für Lese-/Schreib-Systemaufrufe anzeigen?

Wenn ich unter Linux einen Prozess strace, werden die Lese- und Schreibvorgänge mit der Dateideskriptor-Handle-Nummer angezeigt. Wenn ich hineinschaue, /proc/$PID/fdkann ich die symbolischen Links zu den Dateien sehen, die der FD-Nummer entsprechen (falls zutreffend).

Gibt es eine Möglichkeit, strace dazu zu bringen, diese Suche für mich durchzuführen und mir (durch Dereferenzierung des Symlinks) den Dateinamen in der strace-Ausgabe anzuzeigen? Es sucht bereits nach Linux-Fehlernummern und kürzt und kodiert Zeichenfolgen. Kann es das also auch tun?

Aktualisieren:Ich weiß, dass strace den Aufruf angezeigt hat open, der den Pfad und fd anzeigt. Das ist für Prozesse mit kurzer Laufzeit in Ordnung. Aber nehmen wir an, ich habe einen Prozess mit sehr langer Laufzeit (gemessen in Tagen) und habe nicht das Ganze unter strace ausgeführt, sondern mich später lediglich mit damit verbunden strace -p.

Antwort1

Ein kurzer Blick in die schöne Anleitung ergibt:

   -y          Print paths associated with  file  descriptor  argu-
               ments.

verwandte Informationen