【发布时间】:2016-05-24 18:47:12
【问题描述】:
我的项目是 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 并正常工作,但这是循环脚本(我打算让它一直循环)但是当我按下 off 按钮时,它无法关闭它,因为chktime1.py 的循环仍在工作,无法在 disauto1 中打开其他脚本或命令。如何从 PHP 命令停止此脚本。
感谢您的帮助
【问题讨论】:
-
即使请求被中止,你也不能保证 python 脚本会被停止。您无法控制外部。
-
为什么这个问题被标记为codeigniter?已编辑。
-
@LuisMasuelli 对不起,我的代码很糟糕,我无法编写比此脚本更智能的代码。此脚本将每 10 分钟自动检查一次数据库中的时间。如果当前时间与数据库时间同时,灯会打开。我从 putty 尝试它可以通过“ctrl + c”中断或使用来自其他终端的命令“echo raspberry | sudo -u root -S pkill -f chktime1.py”它工作得很好。但我想知道如何在同一个终端中退出脚本仍然循环,你能知道停止这个脚本的另一种方法吗?
-
@Sparky 因为我在这个网站上使用 Codeigniter 框架
-
你的代码不差,但与答案无关。即使是最聪明的 php 代码也无法保证你想要什么
标签: php python linux raspberry-pi