OS X: Posso tenere traccia di quali file si sta accedendo su un disco?

0

Ho diversi dischi rigidi esterni. Sono unità di consumo che "vanno a dormire" (spin down) automaticamente quando non vengono utilizzate; Non posso (e non voglio) eseguirli 24x7. Li uso rigorosamente per il backup e l'archiviazione a lungo termine.

Molto spesso userò alcune funzionalità irrilevanti di un programma (come "Annulla" in Microsoft Word su un documento che si trova sull'unità principale) - l'applicazione si bloccherà e sentirò un disco rigido esterno che gira su. (Oppure ogni singolo disco spin up, uno alla volta.) Quindi il programma si sbloccherà. Il programma non sembra essere disturbato se smonta le unità; semplicemente smette di farlo.

E mi chiedo: Cosa diavolo sta cercando? Quindi posso capire come fermare questo fastidio. Ad esempio, se tocca i caratteri trovati nell'unità esterna, posso assicurarmi che siano inaccessibili all'interno dei file ZIP.

La mia domanda è: come posso avere un registro persistente di accessi ai file da parte delle applicazioni? Ho provato a utilizzare lsof | grep /Volumes/ ma è solo un'istantanea dei file aperti attualmente ; sembra sempre mancare il momento in cui quell'app ha quel file aperto.

Ho provato l'approccio fs_usage, ottenuto raffiche di questo messaggio: fs-usage: buffer overrun, events generated too quickly: 123456 Ma alla fine questo è emerso:

23:32:47  getattrlist       /Volumes/Teeny/RSreorg                                                         0.000006   Microsoft Ex
23:32:47  getattrlist       /Volumes/Teeny/RSreorg                                                         0.000002   Microsoft Ex
23:32:59  getattrlist       /Volumes/Teeny/RSreorg                                                         0.000005   Microsoft Ex
23:32:59  getattrlist       /Volumes/Teeny/RSreorg                                                         0.000002   Microsoft Ex
23:32:59  getattrlist       /Volumes/Teeny/RSreorg                                                         0.000003   Microsoft Ex
23:32:59  getattrlist       /Volumes/Teeny/RSreorg                                                         0.000002   Microsoft Ex

Questo è successo mentre stavo chiudendo un foglio di calcolo Excel. Quello è un disco del disco rigido e quella directory è stata cancellata anni fa. Il foglio di calcolo era un nuovo file che non aveva nulla a che fare con quella posizione.

La ricerca del drive per la stringa di testo RSreorg ha rivelato solo 2 file, entrambi ~/Library/Preferences/com.microsoft.office.plist , uno con parole senza senso alla fine (file temporaneo?) ... Ricerca Web rivela che Microsoft memorizza le mie chiavi di licenza lì, ma la scansione del testo rivela centinaia di altre directory inutili e sbagliate. Cosa diamine sta facendo Microsoft?

E a quanto pare questo rispondi approva l'eliminazione definitiva del file .

    
posta Harper 01.07.2016 - 11:47
fonte

2 risposte

2

C'era una bella app grafica gratuita chiamata fseventer per fare ciò, ma non funzionava davvero in 10.9 o versioni successive e non sembra essere generalmente più disponibile.

Potresti provare opensnoop , un'utilità della riga di comando che mostra i file a cui si accede in tempo reale. La sua invocazione più semplice è:

$ sudo opensnoop

che ti fornirà un elenco di aggiornamento in tempo reale di ogni file a cui si accede sul sistema. Se si sospetta una particolare applicazione, è possibile filtrarne l'output per mostrare solo ciò che l'applicazione sta facendo:

$ sudo opensnoop -n Word

(IIRC esegue la corrispondenza del nome parziale ma con distinzione tra maiuscole e minuscole, quindi "Word" corrisponderà a "Parola", "MS Word", "Microsoft Word", ecc. ma non a "parola".)

Oppure puoi usarlo per vedere cosa sta accedendo a un particolare file (solo per esempio, non ho idea se questo è un vero file delle preferenze di MS Word):

$ sudo opensnoop -f /Library/Preferences/com.microsoft.msword

Per altre opzioni, consultare la pagina man.

    
risposta data 01.07.2016 - 12:14
fonte
1

Puoi usare fs_usage per vedere tutte le chiamate di sistema relative alle attività del filesystem. L'output è abbastanza grande, quindi probabilmente devi reindirizzare a un file

  1. Esegui sudo fs_usage > fs.out nel Terminale
  2. Avvia Word e attendi che l'unità esterna ruoti su
  3. Passa al terminale, premi Ctrl-C e guarda fs.out

Puoi anche limitare l'output a determinati processi, vedere la pagina man per i dettagli su questo.

    
risposta data 01.07.2016 - 11:59
fonte

Leggi altre domande sui tag