Indiana University


ComputerScience






 Home

 Contacts

 Courses

 Academics

 Careers

 Research

 People

 Calendar

 Resources

 Facilities
   FAQ
   System Notices
   Help
   Hardware
   Software
   Network
   Policies
   CSG Staff
   Lindley Hall

 Hiring

CSG FAQ

Q: What is this .nfs file and why can't I remove it?

Under unix, if you remove a file that a currently running process still has open, the file isn't really removed. Once the process closes the file, the OS then removes the file handle and frees up the disk blocks. This process is complicated slightly when the file that is open and removed is on an NFS mounted filesystem. Since the process that has the file open is running on one machine (such as a workstation in your office or lab) and the files are on the file server, there has to be some way for the two machines to communicate information about this file. The way NFS does this is with the .nfsNNNN files. If you try to remove one of these file, and the file is still open, it will just reappear with a different number. So, in order to remove the file completely you must kill the process that has it open.

If you want to know what process has this file open, you can use 'lsof .nfs1234'. Note, however, this will only work on the machine where the processes that has the file open is running. So, if your process is running on bobac and you run the lsof on some other burrow machine, you won't see anything.

For example:


  % echo test > foo
  % tail -f foo
  test
  ^Z
  Suspended
  % rm foo
  % ls -A
  .nfsB23D
  % rm .nfsB23D
  % ls -A
  .nfsC23D
  % lsof .nfsC23D
  COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
  tail    1257 robh    0r  VREG  176,6        5 3000753 .nfsC23D
  %

So, once you have located and killed the process that has the file open, the .nfs file will go away automatically. In the above example, when you kill the tail process, the .nfsC23D file will disappear.



See an error in this FAQ entry? Please report it.

[Return to the FAQ index]









Valid HTML 4.01!