繁体   English   中英

从网站(php)运行时如何停止python脚本

[英]How to stop python script when run it from Website (php)

我的项目是 Rasp Pi 上的照明控制,使用 Rasp Pi 作为 Web 服务器并通过 python 脚本控制灯光我使用 PHP 网站上的 UI 来控制灯光

这是我的 php 代码

<?php
    public function auto1()
    {   
        system('sudo -u root -S python /var/www/4led/chktime1.py');
    }

    public function disauto1()
    {   
        system('echo raspberry | sudo -u root -S pkill -f chktime1.py');
    }
?>

当我按下网站上的 on 按钮打开自动脚本时它调用 auto1 并正常工作但这是循环脚本(我打算让它一直循环)但是当我按下关闭按钮时它无法关闭它,因为 chktime1 的循环.py 仍在工作,无法在 disauto1 中打开其他脚本或命令。 如何从 PHP 命令停止此脚本。

谢谢你的帮助

不确定您的问题是否已解决,但也许对其他人有帮助。 您可以在 PHP 中触摸文件并检查您的 chktime1.py 文件是否存在。

<form action="" method="post">
     <input type="submit" name="start" value="start" />
     <input type="submit" name="stop" value="stop" />
</form>

<?php
    if(isset($_POST['start'])){
        system('sudo -u root -S python /var/www/4led/chktime1.py');
    }
    if(isset($_POST['stop'])){
        system('sudo -u root -S touch /var/www/4led/stop-script');
    }
?>

你可以把它添加到你的 Python 中

import os, sys

while(true): 
   #your code
   if(os.path.isfile('/var/www/4led/stop-script')):
      break

os.system("sudo -u root -S rm /var/www/4led/stop-script")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM