Закройте / размонтируйте монтирование sshfs с помощью Sshf из mountvfs - PullRequest
0 голосов
/ 10 марта 2020

Я использую mountvfs.Sshfs, чтобы sshfs смонтировал файловую систему и [делал что-то].

Он успешно монтирует каталог, но как только скрипт завершен - монтирование все еще монтируется в ОС.

Есть ли способ закрыть / размонтировать это монтирование в конце скрипта (кроме вызова подпроцесса как root?) Я не вижу опции "размонтировать" с mountvfs.Sshfs.

testsctipt.py

import os
from mountvfs import Sshfs  

MOUNT_PARAMS = {
    'user': 'username', 
    'server': 'remote01', 
    'remote_dir': '/remote/mounted/dir/test_project',
    'key': '/home/user/.ssh/privkey',
    'target_dir': '/mnt/test'
}

with Sshfs(**MOUNT_PARAMS) as FH:
    os.chdir("/mnt/test")
    print(FH)
    for root, dirs, files in os.walk(".", topdown = False):
       for name in dirs:
          print(os.path.join(root, name))

OUPUT

<mountvfs.sshfs.Sshfs object at 0x7fda7324fc50>
./configFiles/PANCAN_ALIGNMENT
./submission/44001809
./submission/43828338
(...snip...)
./submission
Connection already closed.

~$ df -h 
Filesystem                                               Size  Used Avail Use% Mounted on
udev                                                     3,9G     0  3,9G   0% /dev
tmpfs                                                    796M  1,4M  794M   1% /run
/dev/mapper/mint--vg-root                                 49G  9,5G   37G  21% /
(...snip...)
user@remote01:/remote/mounted/dir/test_project   10P  3,4P  6,7P  34% /mnt/test
...