A quali file si accede all'avvio di un'app?

4

Mi chiedo se c'è un modo per vedere quali file un'applicazione accede (legge o scrive) all'avvio.

/usr/bin/fs_usage sembra uno strumento, ma mi chiedevo se ce ne sono altri.

Sto cercando di semplificare la copia delle preferenze tra due computer, e ho pensato che si trattava di un passo che si avvicinava a quell'obiettivo, ma sono interessato alla domanda per diversi motivi. So che le preferenze di solito sono mantenute in ~/Library/Preferences/ e ~/Library/Application Support , ma come faccio a sapere quali file / cartelle in particolare?

    
posta TJ Luoma 22.12.2011 - 21:46
fonte

3 risposte

4

Penso ci siano un paio di opzioni. Puoi utilizzare uno script launchd con una proprietà WatchPaths che si attiva in tali directory.

Puoi anche usare lo strumento da riga di comando lsof per elencare i file aperti di un processo.

È possibile ispezionare i file aperti per processo utilizzando Activity Monitor . Se fai clic sul processo e fai clic su "Ispeziona", dovrebbe visualizzare ulteriori informazioni. Una delle schede qui dovrebbe essere per i file aperti (vedi sotto).

    
risposta data 22.12.2011 - 22:45
fonte
4

Quando sono curioso di cose come questa, mi rivolgo immediatamente a fseventer . È essenzialmente una GUI per fs_usage e presenta semplicemente un elenco di file mentre vengono modificati / creati / eliminati. Nella modalità di visualizzazione ad albero predefinita, è buona una buona gerarchia di file modificati e i loro percorsi. Nella visualizzazione ad albero, puoi passare con il mouse su un file o una directory con un'icona rossa (i) su di essa e vedere quale applicazione l'ha toccata.

Nella seconda scheda (modalità griglia), puoi facilmente vedere quali file sono stati modificati da un'applicazione. Schermate di ognuno di questi sono su homepage di fseventer .

Ci sono molte belle opzioni per adattare l'output esattamente a ciò di cui hai bisogno, ad esempio quando i file (se mai) dovrebbero scomparire dalla lista, varie visualizzazioni di output e alcuni più carini.

fseventer è gratuito, suggerito dalle donazioni; alcuni lo chiamano "nag-ware" perché devi chiudere una finestra di dialogo per le donazioni all'avvio dell'applicazione.

    
risposta data 24.12.2011 - 18:11
fonte
3

Un'altra opzione è lo script opensnoop DTrace. Trace file apre e può mostrare vari dettagli, come tempo ( -v ) e codici di errore ( -e ). Puoi anche limitare lo snooping a un particolare processo ( -n o -p ). La pagina man (run man opensnoop ) ha tutti i dettagli.

    
risposta data 25.12.2011 - 02:30
fonte

Leggi altre domande sui tag