[英]how to issue sudo command using python
我需要发出“ sudo服务nginx状态”来检查服务状态。 我有以下几点:
import commands
service output = commands.getoutput("sudo service nginx status")
但我收到“没有tty存在且未指定askpass程序”
有人明白吗?
使用commands.getoutput
使得无法提供sudo命令所需的用户输入。 名称是不言自明的,您只对命令输出感兴趣。 stdin
已关闭。
有几种解决方案:
关闭正在启动此python脚本的sudo用户的密码验证。 (了解/ etc / sudoers)
用管道传输您的密码:(不安全/错误的解决方案,但很容易)“ echo YOURPASS | sudo ...”
检出subprocess.popen
使您可以从控制台或文件https://docs.python.org/2/library/subprocess.html#popen-constructor提供输入
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.