Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

When I try to delete a file

sudo rm -rf filename

I get spit back:

rm: filename: Resource is busy

How can I override this? I know for a fact that the resource is not busy. I just want to delete it!

share|improve this question

migrated from Feb 12 '13 at 23:22

This question came from our site for professional and enthusiast programmers.

The operating system says it is. Should we trust the computer or the human? Do you have the file selected in any GUI? Is it actually a directory (noting that you used the -r flag)? Is it perhaps open in a background or zombied process? – paddy Feb 12 '13 at 22:26
And so you are therefore certain that the file is not being used by a process that is started when your system starts? The key to being a good problem solver is to not trust anything you're told. I don't trust you, and I don't trust your operating system. With a level playing field, we can make some progress into understanding what is going on. If we accept all your assumptions as true, we will make no further progress than you have already, and look where you are right now. – paddy Feb 12 '13 at 22:33
It's BUSY! The OS is not going to have a bar of it. Furthermore, you are ignoring what is being said and returning to "answer the question". Have you tried booting your system from an image on a flash drive or whatever, mounting the partition in question and deleting the file? – paddy Feb 12 '13 at 22:42
Then I misunderstood the last part of your question where you say "I just want to delete it!" You don't seem open to advice on how to achieve this, so I recommend you continue to follow your own path without asking for help. – paddy Feb 12 '13 at 23:01
It would have been more entertaining to future readers if CodeGuy had not deleted all his rude and insulting comments. The above reads as if I'm having an argument with myself... =) – paddy Mar 25 '15 at 4:34

You have demanded an answer to your question, ignoring all discussion along the way, and providing attitude to boot. I find your comments both ignorant and insulting, given that I am taking time to work through a problem that has absolutely no significance to me. You have also ignored the existing answer by Paul Tomblin where he asks if you have tried lsof.

So here is my answer: You cannot override this behaviour.

The operating system states that it is busy. The operating system is probably correct. The error message could be for these reasons:

  • the file is actually being used by another process
  • there is a problem with your file system

As you wish to delete the file, my suggestion has been to boot the machine from a linux image, mount your file system and delete the file. You have not accepted this as a course of action to try.

In future, please consider the manner in which you ask for and receive help from others. If you are unwilling to take advice or answer questions, do not ask for help.

share|improve this answer
One could add, that Apple's "Preview" is a common reason for random files to be "busy" if you previewed them with the space-bar "QuickLook" feature. I absolutely hate it and it is driving me nuts. I would also suggest adding the lsof file and how to proceed - kill the PID and then delete the file. One could also write a hard-core-delete script, that does this. But yes, that is far beyond answering a simple question like this ;) – YoshiBotX May 12 '14 at 16:10

Try lsof filename to see if it's really busy. One of the most common causes of this is that you're trying to remove a directory that you have a shell open in.

share|improve this answer
Did you try the command? Unix usually doesn't lie about things just to mess with you. – Paul Tomblin Feb 12 '13 at 22:31

As other posters say, if you know better then the OS, reboot the system and that will make it forget. But really, they know what they are talking about...

share|improve this answer

This is an old question but I'll add my 2 cents, because there are in fact situations where a file is not really in use but the OS still thinks it is.

It is possible for a file on a removable device to be in use during a system crash and the system will continue think the file is still in use, even if lsof returns nothing and the file is not really in use. Deleting .DS_store has no effect.

Temporarily, one can rename the file or folder if needed. Then whip out the disk utility and do repair disk/repair permissions on the volume.

share|improve this answer

All of the above. The system does not usually lie, meaning that sometimes it does.

Read on, because I had a unique situation in which none of the previously suggested solutions worked, but I did manage to solve my problem.

In my case the "busy" file was a .ttf TrueType font file on a "foreign disk" on a network attached drive, and therefore not likely to be opened by the system on startup. The lsof command showed nothing. A reboot of the mac did not change anything. Shutting down the only other computer on the network that might conceivably be using the file did not change anything.

Disk Utility couldn't do anything with the drive, because it wasn't just a removable device, it was a remote device, not attached directly to the Mac.

I copied the file with a new name, because in my case I wanted to rename it, not delete it. After copying I couldn't delete the original because it was still "busy."

I logged into the network attached drive and attempted to "check" the "foreign disk" but the check failed. But now I was able to delete the original file--in Finder, without using sudo or rm -f or anything like that. It was no longer "busy."

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .