Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的子进程_Python_Ubuntu_Operating System - Fatal编程技术网

python中的子进程

python中的子进程,python,ubuntu,operating-system,Python,Ubuntu,Operating System,因此,我正在用python编写一个脚本,将命令直接输入Ubuntu机器的终端。我使用os.system函数输入命令以获得超级用户访问权限,在脚本中输入密码并获得超级用户权限时遇到了一些问题。这是我的密码: import os def runUpdates(): suPassword = input("Enter su password: ") su = os.system("sudo su") su2 = os.system(suPassword) return

因此,我正在用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
如果有人能帮忙,我们将不胜感激。抱歉,如果这是一个太模糊的问题

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]