我的项目是树莓派上的灯光控制 通过使用 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")
关于php - 从网站(php)运行时如何停止python脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37421589/