我一直试图通过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'
它确实提供输出。有人可以帮忙吗?
在此先感谢!