2010-08-20 5 views
0

Toute aide apportée à ce problème serait fantastique. J'apprécie toutes les contributions! Disons que je cours un démon qui observe le comportement de l'application qui a le focus du clavier. J'ai son PID et son nom de processus. Est-il possible de voir à quels fichiers cette application accède?Noms des fichiers auxquels accède une application

Je suis la programmation en Objective-C, Cocoa et C.

Merci!

EDIT:

Désolé, je aurais dû préciser. Je veux faire ceci par programme du démon. Merci

+0

Je ne pense pas .. vous pouvez savoir que .... –

Répondre

2

Il existe un outil de ligne de commande appelé lsof qui vous montre chaque fichier ouvert et quel programme l'a ouvert. Vous pourriez regarder sa source, puis faire la même chose périodiquement.

Je ne pense pas que vous puissiez intercepter les lectures et les écritures, cependant - pas sans utiliser DTrace, qui nécessite des pouvoirs root.

+0

'strace' ne nécessite pas les autorisations' root' et montre tous les accès aux fichiers – qrdl

+0

qrdl: Cela semble nécessiter Linux. –

0

Utilisez le moniteur d'activité (à partir de/Applications/Utilitaires).

Choisissez votre processus - appuyez sur le bouton Inspecter.

Choisissez l'onglet Ouvrir les fichiers et les ports.

+0

Merci! mais ce n'est pas exactement ce que je cherchais. Vérifiez ma modification. –

+1

OK - clairement, la réponse est "Oui" car le moniteur d'activité (et 'lsof') le fait. Ce n'est pas aussi facile, cependant. S'amuser! –

+0

Droite. Je suppose que ce que vous dites, de façon indirecte, est de trouver le code source du moniteur d'activité et de partir de là. Désolé si j'ai mal compris :) –

Questions connexes