Bestimmen Sie, auf welche Dateien ein Prozess zugreift


9

Wie würde ich alle Dateien herausfinden, auf die ein bestimmter Prozess zugreift?

Ich benutze Ubuntu 9.04.

Antworten:


11

lsof listet geöffnete Dateien und zugehörige Prozess-IDs auf. Es listet alles auf, wenn keine Optionen angegeben sind.

Es besteht die Möglichkeit, -pgeöffnete Dateien für einen einzelnen Prozess aufzulisten. Bei einem Prozess mit PID 6714 werden die von diesem Prozess geöffneten Dateien aufgelistet:

    lsof -p 6714

Um nur reguläre Dateien aufzulisten, kann grep verwendet werden, um die Ausgabe von lsof zu filtern:

    lsof -p 6714 | grep REG

Wenn es robuster sein muss als mit grep, kann die -FOption verwendet werden, wird dann aber komplexer. Aus der lsof-Manpage :

Wenn die Option -F angegeben ist, erzeugt lsof eine Ausgabe, die für die Verarbeitung durch ein anderes Programm geeignet ist - z. B. ein awk- oder Perl-Skript oder ein C-Programm.

Das hängt von Ihren Anforderungen ab.


1
Ich mag es, '-b' zu lsof hinzuzufügen, es wird etwas schneller gehen. Außerdem füge ich 2> / dev / null vor der Pipe zu grep hinzu.
kbyrd
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.