如何使用subprocess.Popen Python以超级用户身份运行脚本时获取输出/错误

时间:2017-09-21 13:34:06

标签: python linux subprocess

我一直试图通过python运行一些shell命令。某些命令以超级用户身份运行。一切顺利,直到我作为sudo运行。问题是,当以超级用户身份运行时,stdout提供空输出,而在没有sudo的情况下执行输出。在这两种情况下,该命令都可以正常工作,但我无法验证脚本是否成功执行。

from subprocess import Popen, PIPE, STDOUT
cmd = 'gksudo rmdir /var/mydir' # or any othr command
p = Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True)enter code here
output = p.stdout.read()
print output

如果cmd是cmd='rmdir / var / mydir' 它确实提供输出。有人可以帮忙吗? 在此先感谢!

0 个答案:

没有答案