As Rabarberski says, lsof
can be used to find any process that has the file open. Note that you need to run the program as root, i.e., using sudo
, and that you can give the pathname to the file you're interested in as an argument, so there is no need for the grep
invocation in the hint that Rabarberski points to. Also, if a process holds a lock on the file, you're supposed to be able to see that from the FD column in the lsof
output. See the manual page for the details. (When I run sudo lsof
on my machine, I see no locked files, so I won't guarantee that this works right on the Mac. sudo
is after all a generic unix program, and conceivably some features don't work on OSX.)
You cannot unlock a file without killing the process that holds the lock. But you can remove it with rm
from the command line.