我通过网页启动一个Python文件作为用户www数据。如何在以后通过运行不同的Python脚本来终止进程?
我的PHP网页包含以下启动过程的代码:
echo shell_exec("sudo python /home/pi/Desktop/PiControl/motion_sensor.py");
方法1(这回答了您关于标题的问题):
让www数据成为服务器中的管理员。
adduser www-data sudo
然后在执行命令时删除sudo密码
参考:在没有密码的情况下执行sudo?
sudo visudo
在文件底部,键入以下内容:
www-data ALL=(ALL) NOPASSWD: ALL
注意:这是一个非常高的安全风险,黑客可能会关闭你的服务器,对你的服务器做任何你能想象的事情!这样做的风险自负
方法2:
编写一个服务(使用PHP或Python以外的东西)并以root/admin用户的身份运行,一旦调用,就杀死服务器上的所有Python。
方法3:
一个愚蠢的方法:让你的Python创建一个空文件,在启动时,将该文件的权限设置为777,这样任何用户都可以删除它。每隔5秒检查一次文件是否存在,如果不存在,则自行退出。
最后,如果您想停止您的python,只需让php删除该文件即可。
方法4:
我刚刚注意到,www数据会像自己一样运行python脚本,为什么你不能杀死它呢?试试看。