lsof to find what's keeping the file open
Open up Terminal.app and use the following command to get to your Trash:
Now, enter the following command:
For example, in the above screenshot, it would be:
lsof pdf\ 08-53-59.pdf (important to escape spaces here). You can also just enter
lsof with a space afterwards, and then drag the file from Finder's Trash into the Terminal window.
The command will output something like the following:
charon:.Trash werner$ lsof pdf\ 08-53-39.pdf
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Finder 5022 werner txt REG 14,2 636141715 32494023 pdf 08-53-39.pdf
In that case, we know that Finder is keeping the file open. For any other application, it would be easy to just activate and quit it. In case of the Finder, there's no obvious "quit" button.
To kill the Finder and release the document, just enter the following in the Terminal:
You should now be able to empty your Trash.
If the above does not succeed, here are some very basic tricks you can try to empty your trash:
- Log out from your user, and log in again
- Reboot the Mac, log in again