1

VirtualDVD という名前のマウント ポイントをアンマウントしたいと考えています。コマンド「gksudo umount VirtualDVD」を実行したい

私の機能は次のとおりです。

def umount(self):
    '''unmounts VirtualDVD'''
    cmd = 'gksudo umount VirtualDVD'
    proc = subprocess.Popen(str(cmd), shell=True, stdout=subprocess.PIPE).stdout.read()
    print proc

端末から「gksudo umount VirtualDVD」を試してみましたが、すべて問題ありません。

サブプロセスから "gksudo umount VirtualDVD" を実行しようとすると失敗します... gksudo ダイアログがポップアップし、パスワードを入力できますが、VirtualDVD がまだマウントされているため、umount が失敗するようです。なぜ?

4

1 に答える 1

0

私はそれを理解しています...マウントポイントの完全なパスでアンマウントする必要があります。umount 関数を次のように変更しましたが、動作します...

def umount(self):
    '''unmounts VirtualDVD'''
    #get virtualdvd folder
    home = QtCore.QDir.homePath()
    vpath = home + "/VirtualDVD"

    cmd = 'gksudo umount ' + vpath
    proc = subprocess.Popen(str(cmd), shell=True, stdout=subprocess.PIPE).stdout.read()
    print proc
于 2016-10-28T08:43:57.140 に答える