umount2(2)에 대해 MNT_EXPIRE를 지원하는 유틸리티가 있습니까?

umount2(2)에 대해 MNT_EXPIRE를 지원하는 유틸리티가 있습니까?

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지원하지 않는 것 같습니다..

이 플래그를 사용할 수 있는 유틸리티가 있습니까?

답변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)

관련 정보