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.
是否有任何实用程序允许使用此标志?
答案1
您可以轻松地从 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)