【问题标题】:how to umount from python script如何从python脚本中卸载
【发布时间】:2016-10-28 08:30:59
【问题描述】:

我想卸载一个名为 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 仍然已安装。 为什么?

【问题讨论】:

  • 如果您首先从根目录运行脚本就可以了
  • 我不想以root身份运行,我希望每个用户都可以运行它。

标签: python subprocess gksudo umount


【解决方案1】:

我想通了...我应该使用安装点的完整路径卸载。 我将 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

【讨论】:

    猜你喜欢
    • 2019-08-07
    • 1970-01-01
    • 1970-01-01
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多