【问题标题】:Subprocesses in python [duplicate]python中的子进程[重复]
【发布时间】:2016-03-01 00:35:32
【问题描述】:

所以我正在用 python 编写一个脚本,将命令直接输入到 Ubuntu 机器的终端。我使用 os.system 函数输入命令以获取超级用户访问权限,但在脚本中输入密码和获取超级用户权限时遇到了一些麻烦。这是我的代码:

import os

def runUpdates():
    suPassword = input("Enter su password: ")
    su = os.system("sudo su")
    su2 = os.system(suPassword)
    return su
    return su2

如果有人可以提供帮助,我们将不胜感激。抱歉,如果这个问题太模糊了。

【问题讨论】:

    标签: python ubuntu operating-system


    【解决方案1】:
    import os                                                                       
    
    def runUpdates():                                                               
        suPassword = input("Enter su password: ")                                   
        os.popen("sudo su - %s date", 'w').write(suPassword)
    runUpdates()  
    

    (日期是命令)

    使用子进程的其他方式

    import subprocess
    import getpass
    
    password = getpass.getpass()
    p = subprocess.Popen(['sudo', '-p', '-k', '-S', 'date'],                     
                        stdout=subprocess.PIPE,
                        stdin=subprocess.PIPE,                                  
                        stderr=subprocess.STDOUT)
    p.communicate(input='{0}\n'.format(password))[0] 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-12
      • 2011-10-03
      • 2015-12-05
      • 2018-08-04
      • 2011-02-07
      • 2011-01-14
      • 2013-10-27
      相关资源
      最近更新 更多