GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann man E/A-Vorgänge pro Datei in Linux nachverfolgen?

Sie können warten, bis die Dateien geöffnet sind, damit Sie den fd lernen und nach dem Start des Prozesses Strace wie folgt anhängen können:

strace -p pid -e trace=Datei -e read=fd


Erstens müssen Sie wahrscheinlich nicht den Überblick behalten, da die Zuordnung zwischen fd und path ist in /proc/PID/fd/ verfügbar .

Zweitens sollten Sie vielleicht den LD_PRELOAD-Trick und die Überladung in C open verwenden , seek und read Systemaufruf. Es gibt hier und da einige Artikel darüber, wie man malloc/free überlädt.

Ich denke, es wird nicht allzu anders sein, denselben Trick für diese Systemaufrufe anzuwenden. Es muss in C implementiert werden, aber es sollte viel weniger Code benötigen und präziser sein als das Parsen von strace Ausgabe.


Linux
  1. So verwenden Sie BusyBox unter Linux

  2. So installieren Sie Python unter Linux

  3. Wie ich Cron unter Linux verwende

  4. So installieren Sie Java unter Linux

  5. So partitionieren Sie eine Festplatte unter Linux

So beenden Sie einen Prozess in Linux

So erstellen Sie eine Datei unter Linux

So benennen Sie Verzeichnisse in Linux um

So verfolgen Sie die Programmausführung mit dem Linux-Strace-Befehl

So verwenden Sie den Linux-Strace-Befehl

So verfolgen und verfolgen Sie einen Linux-Prozess