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 对话框,我可以输入我的密码,但似乎 umount 失败,因为 VirtualDVD 仍然被挂载。为什么?

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 回答