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.