【问题标题】: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]