2012-07-21 4 views
5

Ich weiß, dass es einen Fixiererbefehl gibt, der PIDs von Prozessen auflistet, aber wie überwachen Sie kontinuierlich, welcher Prozess auf die Datei zugreift? (Denken Sie Verhalten wie Schwanz-f-Dateiname)Wie überwachen Sie Prozesse, die auf eine bestimmte Datei zugegriffen haben?

sagen, es gibt einen Prozess, der in eine Datei schreibt und das Handle in einigen Abständen freigibt, so dass es schwierig ist, diesen Prozess mit Fixierer zu fangen.

+0

Bitte http://linux.die.net/man/7/inotify überprüfen – Jayan

+0

Wie (Nicht-) intrusive und (Nicht-) interaktiv brauchen Sie/kann es sich leisten? @ clavoori's Polling könnte funktionieren, wenn das von Ihnen erwähnte Intervall lang genug ist; Wenn Sie die Datei durch eine Named Pipe ersetzen und ihren Puffer sättigen, werden alle Writer blockiert, so dass Sie sie in Ruhe identifizieren können, aber möglicherweise nicht die Art von Lösung, nach der Sie suchen. Schließlich können Sie Ihren eigenen Linux [Kernel tracepoints] (http://netsplit.com/2011/03/07/tracing-on-linux/) definieren, um zu verfolgen, welcher Prozess eine bestimmte Datei zum Schreiben geöffnet hat. – vladr

Antwort

1

können Sie beobachten, Befehle in regelmäßigen Abständen auszuführen. Watch unterstützt auch Unterschiede Flagge zum Zwecke der Hervorhebung Unterschiede in aufeinanderfolgenden Läufen

watch -n 5 'fuser file_name' 
+0

nicht wirklich für mich arbeiten ... die Schreibvorgänge in der Datei sind ziemlich kurz und mit Uhr nicht erwischt (versuchte Watch -n 1 auch) – the1plummie

0

Sie inotifywatch verwenden könnte, vorausgesetzt, Sie sind auf einem Linux sind.

Mit diesem Befehl wird der gesamte Zugriff gedruckt und für 60 Sekunden in einer Datei geändert. Anschließend werden die Statistiken gedruckt.

inotifywatch -v -e access -e modify -t 60 filename 

Sie können inotifywatch der Quelle erhalten, wie https://github.com/rvoicilas/inotify-tools/wiki

+2

Dies wird die Anzahl der Zugriffe/Modifikationen zeigen, aber gibt es einen Weg um herauszufinden, * welcher Prozess * auf die Datei zugegriffen hat? – aioobe

Verwandte Themen