在php后台运行C exec
我已经搜索并找到了一些关于我的问题的建议,但几乎所有的建议都是执行php文件,所以我不知道这是否与我的问题不起作用有关 我的目标是在不完成脚本的情况下完全加载我的网页,这需要花费x个时间,但这行代码无法完成。我有什么遗漏吗?我在很多地方都看到了这个答案,似乎对他们有用在php后台运行C exec,php,c,raspberry-pi,exec,background-process,Php,C,Raspberry Pi,Exec,Background Process,我已经搜索并找到了一些关于我的问题的建议,但几乎所有的建议都是执行php文件,所以我不知道这是否与我的问题不起作用有关 我的目标是在不完成脚本的情况下完全加载我的网页,这需要花费x个时间,但这行代码无法完成。我有什么遗漏吗?我在很多地方都看到了这个答案,似乎对他们有用 <?php exec("sudo ./EscalonVel 50 2 100 10 20 &> /dev/null &"); echo "Hello"; ?> 如果必须在页面上显示用C脚本计算
<?php
exec("sudo ./EscalonVel 50 2 100 10 20 &> /dev/null &");
echo "Hello";
?>
如果必须在页面上显示用C脚本计算的数据,那么“某人”必须等到它完成后才能显示出来。如果数据直接来自已执行的命令(执行的输出/标准输出),则不能使用
&
对命令进行后台处理:输出可能在调度请求后出现,并且进程后台处理会将其输出与实际执行断开。因此,您有两种选择:
希望有帮助 尝试
gpio写入28 0&
。虽然我不明白你为什么要这么做!我甚至试着对它进行评论,没有luckIt认为您实现了错误的解决方案。脚本做什么?脚本进行一系列计算并将数据插入数据库,目标是能够在页面中绘制这些数据,但为此,我需要首先在后台运行它。sudoers文件中的这个命令是什么?或者是sudo
向您询问密码?为什么sudo
,这似乎也不对。你知道吗,你可以编写一个函数并从中调用它,或者从一个apache处理程序中调用它。thx,可能没有详细解释我自己,后台过程是在mysql数据库中插入一些行,所以我的方法是调用脚本,然后开始用数据库中的数据刷新页面中的数据。然后,您需要执行AJAX调用来检查流程是否已完成。根据进程内执行时间的不同,这些调用可能距离下一个调用10秒,也可能是10分钟。如果进程尚未完成,则在X秒内调用另一个AJAX请求(使用setTimeout
)。如果有,则提供数据。我不知道这是什么数据。它可能适合JSON、JavaScript或普通HTML。这取决于你和你的需要。没有脚本这样的东西。