获取PHP中python程序的运行状态

时间:2018-06-28 16:24:26

标签: php python raspberry-pi raspbian

您好,我正在使用Raspberry Pi做一个项目。我制作了一个内部有无限循环的python程序。我还制作了一个调用该python程序的PHP网站,通过这种方式使其在后台运行:

$call = "sudo python ../python/readver12.py > /dev/null 2>&1 &";
shell_exec($call);

一切似乎都很好,但是我不知道如何获取我的python程序的状态是否在后台运行,以及如何通过PHP在我的网站上使用它?

2 个答案:

答案 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

我希望对您有帮助