您好,我正在使用Raspberry Pi做一个项目。我制作了一个内部有无限循环的python程序。我还制作了一个调用该python程序的PHP网站,通过这种方式使其在后台运行:
$call = "sudo python ../python/readver12.py > /dev/null 2>&1 &";
shell_exec($call);
一切似乎都很好,但是我不知道如何获取我的python程序的状态是否在后台运行,以及如何通过PHP在我的网站上使用它?
答案 0 :(得分:0)
使用shell_exec(),PHP将等待继续执行脚本,直到您调用的应用程序退出,并将该应用程序的输出作为字符串返回。当您的应用程序取回时,孩子已经完成(或您击中了PHP time limit)。
听起来您想启动该过程并在运行时对其进行监视。为此,请查看proc_open()和proc_get_status()。
答案 1 :(得分:0)
我想有很多方法可以做到这一点:
尝试从终端获取日志 您可以在运行无尽的python脚本时在终端上扔一些日志,并使用PHP捕获它
https://docs.python.org/3/howto/logging.html
写文件并用php读取
直接向前,您使用python写入文件并使用PHP读取 http://www.pythonforbeginners.com/files/reading-and-writing-files-in-python
PHP网站上的API REST和具有cURL的python 您可以在python脚本中使用cURL与php中的端点进行通讯,并获取所需的数据。
cURL:http://pycurl.io/docs/latest/index.html
PHP Api Rest:https://www.codeofaninja.com/2017/02/create-simple-rest-api-in-php.html
我希望对您有帮助