从apache中的python脚本closures计算机

我有一个无头的树莓派,我想要一个简单的方法让我的孩子关机。 我在apache web服务器上尝试了下面的脚本:

import os sss = os.popen('echo password | sudo -S shutdown -hP now') print sss.read() 

但没有任何反应。

然后我试着:

 from subprocess import Popen, PIPE, STDOUT p = Popen('echo password | sudo -S shutdown -hP now', shell=True, stdOUT=PIPE, stderr=STDOUT) print p.stdout.read() 

此外,没有任何输出,没有工作似乎已经完成。

我怎样才能做一个网页关机?

出于安全原因,Apache用户无法运行sudo命令。

通常情况下,这是一个几乎是强制性的规则,以防止攻击,但对于Raspberry PI安装,您可能没有这个问题,所以你可以添加Apache用户sudoers (或者,更好的是,usud visudo编辑该文件)。

别的东西? 是的,您可以简单地将关闭权限添加到Apache用户,请按照本教程 。 总之你必须改变/etc/sudoers

 %groupName ALL= NOPASSWD: /sbin/shutdown