Come verificare cosa blocca un file?

11

Ho notato che talvolta Mail.app blocca i file. Il blocco stesso consente di spostare i file nel Cestino, ma non consente di svuotare il Cestino. (Forse Trash dovrebbe essere rinominato Thrash in questo caso)

Esiste un modo (tramite un comando di terminale o un'app) per vedere quale app blocca il file e / o sblocca il file senza uscire dall'app?

    
posta Michal M 17.08.2011 - 13:14
fonte

3 risposte

13

Come dice Rabarberski, lsof può essere usato per trovare qualsiasi processo in cui il file è aperto. Nota che devi eseguire il programma come root, cioè usando sudo , e che puoi dare il pathname al file che ti interessa come argomento, quindi non c'è bisogno di invocare grep nel suggerimento a cui Rabarberski fa riferimento. Inoltre, se un processo contiene un blocco sul file, dovresti essere in grado di vederlo dalla colonna FD nell'output lsof . Vedi la pagina man per i dettagli. (Quando eseguo sudo lsof sulla mia macchina, non vedo file bloccati, quindi non garantisco che funzioni correttamente sul Mac. sudo è dopotutto un programma generico unix e, presumibilmente, alcune funzioni non funzionano su OSX.)

Non è possibile sbloccare un file senza uccidere il processo che contiene il blocco. Ma puoi rimuoverlo con rm dalla riga di comando.

    
risposta data 17.08.2011 - 14:14
fonte
6

Come altri hanno sottolineato, lsof fa il trucco. Per rendere il compito ancora più semplice, suggerisco l'app (gratuita) "Cosa mi trattiene" (URL: link ) che è fondamentalmente un frontend per lsof e ha alcune opzioni per risparmiare tempo.

    
risposta data 17.08.2011 - 15:10
fonte
2

Apparentemente il comando del terminale lsof ("elenco di file aperti") può essere usato per farlo: link

    
risposta data 17.08.2011 - 13:29
fonte

Leggi altre domande sui tag