Como Rabarberski diz, lsofpode ser usado para encontrar qualquer processo que tenha o arquivo aberto. Observe que você precisa executar o programa como root, ou seja, usando sudo, e que pode dar o nome do caminho para o arquivo em que está interessado como argumento, para que não haja necessidade de grepchamar a dica que Rabarberski aponta. Além disso, se um processo reter um bloqueio no arquivo, você poderá ver isso na coluna FD na lsofsaída. Consulte a página do manual para obter detalhes. (Quando executo sudo lsofna minha máquina, não vejo arquivos bloqueados, portanto não garanto que isso funcione corretamente no Mac. sudoAfinal é um programa unix genérico e é possível que alguns recursos não funcionem no OSX.)
Você não pode desbloquear um arquivo sem interromper o processo que mantém o bloqueio. Mas você pode removê-lo rmda linha de comando.