Unmounting

是否有支持 umount2(2) 的 MNT_EXPIRE 的實用程序?

  • August 13, 2017

man umount2 說:

   MNT_EXPIRE (since Linux 2.6.8)
          Mark the mount point as expired.  If a mount point is not
          currently in use, then an initial call to umount2() with this
          flag fails with the error EAGAIN, but marks the mount point as
          expired.  The mount point remains expired as long as it isn't
          accessed by any process.  A second umount2() call specifying
          MNT_EXPIRE unmounts an expired mount point.  This flag cannot
          be specified with either MNT_FORCE or MNT_DETACH.

umount好像不支持

是否有任何實用程序允許使用此標誌?

您可以輕鬆地從 Python 訪問 C 函式。

#!/usr/bin/env python
import os, sys
from ctypes import *
libc = CDLL('libc.so.6', use_errno=True)
MNT_EXPIRE = 4
libc.umount2(c_char_p(sys.argv[1]), c_int(MNT_EXPIRE))
if get_errno() != 0:
   print os.strerror(get_errno())
   exit(1)

引用自:https://unix.stackexchange.com/questions/385635