Frage Wie verfolge ich alle Dateien, die ein Prozess während seiner Lebensdauer geöffnet hat?


Mir ist bewusst, dass ich lsof verwende, um die Dateien zu prüfen, auf die aktuell ein Prozess zugreift. Gibt es eine Möglichkeit, alle Dateien zu sehen, die eine Anwendung während ihrer Lebensdauer öffnet?


20
2018-05-04 07:28


Ursprung


Überwachen Sie fortlaufend die Dateien, die von einem Prozess geöffnet / aufgerufen wurden - phuclv


Antworten:


Verwendung der strace befehle es mit etwas wie:

strace -e trace=open program [arguments]

23
2018-05-04 07:36



Dies zeigt alle Dateien an, die ein Prozess enthält versucht zugreifen. Man könnte meinen, dass sowas wie strace -e trace=open program [arguments] | grep -v ' = -1 ENOENT' könnte die Situation verbessern, aber es ist auch nicht wahr. Letzteres kann keine unvollendeten und dann wiederaufgenommenen Anrufe erkennen open. - noxmetus


Ich bin mir nicht sicher, ob ich genau verstanden habe, was du damit machen willst. Aber, hast du strace in Betracht gezogen? Es zeigt alle Systemaufrufe einschließlich Dateien an.

EDIT: Vergessen Sie nicht die Option -f, mit der Sie gegabelte Prozesse verfolgen können.


5
2018-05-04 07:36



Debuggen, welche Konfigurationsdateien von einer Anwendung gelesen werden - Peter Smit