Die vom XYZ-Prozess geöffneten Dateien können mit dem Befehl gefunden werden
ls -l /proc/PID/fd
Gibt es überhaupt eine Möglichkeit, die interaktiver durchgeführt werden kann, z. B. tail
alle x Sekunden automatisch aktualisiert?
Die vom XYZ-Prozess geöffneten Dateien können mit dem Befehl gefunden werden
ls -l /proc/PID/fd
Gibt es überhaupt eine Möglichkeit, die interaktiver durchgeführt werden kann, z. B. tail
alle x Sekunden automatisch aktualisiert?
Versuchen Sie den watch
Befehl:
watch -n 10 ls -l /proc/$$/fd
Uhr ist schön.
Sie könnten eine alte Schule while-Schleife verwenden:
while :
do
ls -l /proc/$$/fd
sleep 10
done
watch
ist im procps- Paket auf Debian-basierten Systemen und im procps-RPM auf von RedHat abgeleiteten Systemen enthalten.
Wenn Sie jede Datei beim Öffnen sehen möchten, können Sie dies mit filtern
strace
. Zum Beispiel:quelle
-y
und-f
wenn Sie versuchen, etwas zu debuggen, das in einer Shell ausgeführt wird. Geben Sie einfach die Shell-PID ein und-f
folgen Sie den Gabeln.Sie könnten kombinieren
lsof
undwatch
.Zum Beispiel erhalten
watch "lsof -p 1234"
Sie alle 2 Sekunden eine Liste aller geöffneten Dateien von pid 1234. Sie können einige Parameter ändern, um sie Ihren Anforderungen anzupassen.quelle
-r
Option für nicht bewusstlsof
. Deshalb habe ichwatch
auszuführenlsof
alle zwei Sekunden.Ich habe eine Bash-Datei erstellt, in der ich die Ausgabe des Befehls in eine Datei geschrieben habe. Die Datei wurde zum aktuellen Datum erstellt. Hier zähle ich die Anzahl der geöffneten Dateien.
quelle