在php背景中运行C exec

时间:2015-11-29 07:11:35

标签: php c raspberry-pi exec background-process

我已经搜索过并找到了一些建议,但几乎所有的建议都是执行php文件,所以我不知道这是否与我的工作无关。

我的目标是让我的网页完全加载,而不需要花费x时间来完成我的脚本,但它不会使用这行代码。有什么东西我不见了?我在很多地方看到了这个答案,似乎对他们有用。

<?php

exec("sudo ./EscalonVel 50 2 100 10 20 &> /dev/null &");
echo "Hello";
?>

1 个答案:

答案 0 :(得分:0)

如果你必须在C脚本上计算的页面数据上显示,那么&#34;某人&#34;必须等到它完成才能显示出来。如果数据直接来自执行的命令(执行的输出/标准输出),那么您无法使用&对命令进行后台处理:输出可能在调度请求后出现,并且进程后台处理会断开它的输出从实际执行。所以你有两个选择:

  1. 显示页面&#34;模板&#34;完全准备好接受HTML末尾的内容(次优但可能)
  2. 执行2个请求页面:第一个显示模板(整页),第二个(AJAX)使用命令执行中的数据填充它。根据您的编写方式,AJAX可以在命令终止之前执行多个请求,如果脚本运行超过20秒,则更可取。然后,您需要某种进程检查和一些后端来保存(通过命令)和查看(通过AJAX请求)数据,作为文件或数据库。
  3. 希望它有所帮助!