Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It's 100% free, no registration required.

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

I noticed once when I shut down my home server while my desktop was connected via NFS that I kept getting "stale NFS handle warning" when entering my home dir, this caused issues with some programs that looked in those folders.

How do I resolve this issue without restarting my machine?

Debian Squeeze/Wheezy

share|improve this question
What OS and/or distribution are you running? – Jodie C Apr 12 '12 at 11:36
I am using Debian Squeeze – yakamok Apr 12 '12 at 11:39

Try this shell script. Works good for me:

# Purpose:
# Detect Stale File handle and remove it
# Script created: July 29, 2015 by Birgit Ducarroz
# Last modification: --

# Detect Stale file handle and write output into a variable and then into a file
mounts=`df 2>&1 | grep 'Stale file handle' |awk '{print ""$2"" }' > NFS_stales.txt`
# Remove : ‘ and ’ characters from the output
sed -r -i 's/://' NFS_stales.txt && sed -r -i 's/‘//' NFS_stales.txt && sed -r -i 's/’//' NFS_stales.txt

# Not used: replace space by a new line
# stales=`cat NFS_stales.txt && sed -r -i ':a;N;$!ba;s/ /\n /g' NFS_stales.txt`

# read NFS_stales.txt output file line by line then unmount stale by stale.
#    IFS='' (or IFS=) prevents leading/trailing whitespace from being trimmed.
#    -r prevents backslash escapes from being interpreted.
#    || [[ -n $line ]] prevents the last line from being ignored if it doesn't end with a \n (since read returns a non-zero exit code when it encounters EOF).

while IFS='' read -r line || [[ -n "$line" ]]; do
    echo "Unmounting due to NFS Stale file handle: $line"
    umount -fl $line
done < "NFS_stales.txt"
share|improve this answer
Based on my experience it it seems to be a 50:50 change for this not to be enough, and a machine reboot being needed. I am looking forward to see a better script, maybe one to put in the crontab. We encounter this kind of problem very often, with more than one machine per day. – sorin Jan 26 at 17:38
up vote 0 down vote accepted

On Debian Squeeze/Wheezy:

Force unmount the local mount

umount -f /mnt/dir

Then restart nfs

/etc/init.d/nfs-common restart
share|improve this answer
I'd be surprised if you can force the unmount of a filesystem - so I doubt the above will work. – TheGingerDog Mar 24 '13 at 18:36

I would usually issue those commands (as root):

service nis restart
service autofs restart
service nfs restart
service portmap restart

You may not need all of those, depending on how your system works.

share|improve this answer
Which Distro is this for? – yakamok Apr 14 '12 at 8:02

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.