Auf welche Dateien wird zugegriffen, wenn eine App gestartet wird?

Ich frage mich, ob es eine Möglichkeit gibt, zu sehen, auf welche Dateien eine Anwendung beim Start zugreift (liest oder schreibt).

/usr/bin/fs_usagescheint ein Werkzeug zu sein, aber ich habe mich gefragt, ob es noch andere gibt.

Ich versuche, es einfach zu machen, Einstellungen zwischen zwei Computern zu kopieren, und ich dachte, dass dies ein Schritt in Richtung dieses Ziels wäre, aber ich interessiere mich aus mehreren Gründen für die Frage. Ich weiß, dass Einstellungen normalerweise in ~/Library/Preferences/und gespeichert werden ~/Library/Application Support, aber wie finde ich heraus, welche Dateien/Ordner genau?

Antworten (3)

Ich denke, es gibt ein paar Möglichkeiten. Sie könnten ein launchdSkript mit einer WatchPathsEigenschaft verwenden, die auf diesen Verzeichnissen ausgelöst wird.

Sie können auch das Befehlszeilentool verwenden, lsofum geöffnete Dateien eines Prozesses aufzulisten.

Sie können geöffnete Dateien pro Prozess mit untersuchen Activity Monitor. Wenn Sie auf den Prozess und dann auf „Inspizieren“ klicken, sollten zusätzliche Informationen angezeigt werden. Eine der Registerkarten hier sollte für geöffnete Dateien sein (siehe unten).

Geben Sie hier die Bildbeschreibung ein

Wenn mich solche Dinge interessieren, wende ich mich sofort an fseventer . Es ist im Wesentlichen eine GUI für fs_usage und präsentiert einfach eine Liste von Dateien, während sie geändert/erstellt/gelöscht werden. Im standardmäßigen Baumansichtsmodus sehen Sie eine schöne Hierarchie der geänderten Dateien und ihrer Pfade. In der Baumansicht können Sie den Mauszeiger über eine Datei oder ein Verzeichnis mit einem roten Symbol (i) darüber bewegen und sehen, welche Anwendung es berührt hat.

Auf der zweiten Registerkarte (Rastermodus) können Sie leicht sehen, welche Dateien von einer Anwendung geändert wurden. Screenshots davon finden Sie auf der Homepage von fseventer .

Es gibt viele nette Optionen, um die Ausgabe genau an Ihre Bedürfnisse anzupassen, z. B. wann (wenn überhaupt) Dateien aus der Liste verschwinden sollen, verschiedene Ausgabeansichten und ein paar weitere nützliche Funktionen.

fseventer ist kostenlos, Spenden empfohlen; Manche Leute nennen es "Nag-Ware", weil Sie einen Spendendialog beim Start der Anwendung schließen müssen.

Eine weitere Option ist das opensnoopDTrace-Skript. Es verfolgt das Öffnen von Dateien und kann verschiedene Details wie Zeit ( -v) und Fehlercodes ( -e) anzeigen. Sie können das Snooping auch auf einen bestimmten Prozess beschränken ( -noder -p). Die Manpage (run man opensnoop) enthält alle Details.