Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将进程作为用户www数据终止_Php_Python_Shell - Fatal编程技术网

Php 如何将进程作为用户www数据终止

Php 如何将进程作为用户www数据终止,php,python,shell,Php,Python,Shell,我通过网页作为用户www数据启动一个Python文件。以后如何通过运行不同的Python脚本来终止进程 My PHP网页包含以下启动流程的代码: echo shell_exec("sudo python /home/pi/Desktop/PiControl/motion_sensor.py"); 方法1(回答您关于标题的问题): 让www数据成为服务器中的管理员 adduser www-data sudo 然后在执行命令时删除sudo密码 参考: 在文件底部,键入以下命令: www-data

我通过网页作为用户www数据启动一个Python文件。以后如何通过运行不同的Python脚本来终止进程

My PHP网页包含以下启动流程的代码:

echo shell_exec("sudo python /home/pi/Desktop/PiControl/motion_sensor.py");
方法1(回答您关于标题的问题): 让www数据成为服务器中的管理员

adduser www-data sudo
然后在执行命令时删除sudo密码

参考:

在文件底部,键入以下命令:

www-data ALL=(ALL) NOPASSWD: ALL
注意:存在非常高的安全风险,黑客可能会关闭您的服务器,对您的服务器执行任何您可以想象的操作!请自行承担风险

方法2: 编写一个服务(使用PHP或Python以外的东西)并以root/admin用户身份运行,一旦调用它,就杀死服务器上的所有Python

adduser www-data sudo
方法3: 一个愚蠢的方法:让Python在启动时创建一个空文件,将该文件权限设置为777,以便任何用户都可以删除它。每隔5秒检查一次文件是否存在,如果不存在,则退出自身

最后,如果您想停止python,只需让php删除该文件

方法4: 我刚刚注意到,www数据会像运行python脚本一样运行它,为什么不能杀死它呢?试试看。

看看。