首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从网站运行python脚本时如何停止它(php)

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

Stack Overflow用户
提问于 2016-05-25 02:47:13
回答 1查看 2.3K关注 0票数 2

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

这是我的php代码

代码语言:javascript
复制
<?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并正常工作,但这是循环脚本(我打算让它一直循环),但当我按下off按钮时,它无法关闭它,因为chktime1.py的循环仍在工作,并且无法在disauto1中打开其他脚本或命令。如何从PHP命令中停止此脚本。

谢谢你的帮助

EN

回答 1

Stack Overflow用户

发布于 2017-12-04 21:09:33

我不确定你的问题是否解决了,但也许它对其他人有帮助。你可以在PHP中触摸一个文件,然后检查你的chktime1.py文件是否在那里。

代码语言:javascript
复制
<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中

代码语言:javascript
复制
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")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37421589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档