如何将进程作为用户www数据杀死



我通过网页启动一个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脚本,为什么你不能杀死它呢?试试看。

最新更新