Como dice Rabarberski, lsofse puede utilizar para encontrar cualquier proceso que tenga abierto el archivo. Tenga en cuenta que necesita ejecutar el programa como root, es decir, usar sudo, y que puede dar el nombre de ruta al archivo que le interesa como argumento, por lo que no es necesario grepinvocarlo en la pista a la que apunta Rabarberski. Además, si un proceso mantiene un bloqueo en el archivo, se supone que puede verlo desde la columna FD en la lsofsalida. Vea la página del manual para los detalles. (Cuando ejecuto sudo lsofen mi máquina, no veo archivos bloqueados, por lo que no garantizaré que esto funcione correctamente en Mac. sudoDespués de todo, es un programa genérico de Unix, y posiblemente algunas características no funcionen en OSX).
No puede desbloquear un archivo sin eliminar el proceso que contiene el bloqueo. Pero puedes eliminarlo rmdesde la línea de comandos.