0

我有一个调用控制台应用程序的 PHP 文件。我有几个范围滑块作为控制台应用程序的输入。当我单击页面中的搜索按钮时,它会调用控制台应用程序,如果我在1 秒内更改范围滑块值并再次调用,exe则显示的输出是前一个输出,一段时间后输出再次更改为当前输出。

我猜这是因为之前的控制台应用程序没有在第二次终止,所以它显示相同的输出,并在一段时间内给出正确的输出。我怎么解决这个问题?如何exe在调用另一个 exe 之前终止之前的执行?

控制台应用程序的输出保存在一个数组中。我尝试在 exec 之前将 null 分配给数组,但它没有用。我正在使用apache server.ubuntu

4

2 回答 2

0

如果下一个已发送,您可以中断 AJAX。

请参阅如何取消/中止 jQuery AJAX 请求?

于 2013-06-21T06:40:42.110 回答
0

假设您在控制台中有足够的权限,您可以在第二次执行之前执行命令来终止进程。请参阅http://www.howtogeek.com/howto/ubuntu/kill-a-process-by-process-name-from-ubuntu-command-line/

但是,如果您处于多个用户可能同时运行它的环境中,您将需要知道您希望终止的特定实例的进程 ID。

这篇文章有一个很好的例子来说明你如何做到这一点:http ://www.php.net/manual/en/function.exec.php#89716

于 2013-06-21T06:29:10.743 回答