首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用php passthru()函数后继续执行

调用php passthru()函数后继续执行
EN

Stack Overflow用户
提问于 2012-05-29 19:17:25
回答 1查看 1.8K关注 0票数 1

在使用php passthru()函数时,默认情况下会一直保留到外部脚本执行结束。

PHP手册上说:“如果一个程序是用这个函数启动的,为了让它继续在后台运行,程序的输出必须重定向到一个文件或另一个输出流。否则将导致PHP挂起,直到程序执行结束。”- http://php.net/manual/en/function.passthru.php

我想收集特定时间的外部脚本数据,例如30秒,然后继续执行php脚本。你知道怎么做吗?

我当前的代码是:

代码语言:javascript
复制
    ob_start();
    passthru("/home/somefolder/somefolder2/program $pic1 $pic2");
    $details = ob_get_contents();
    ob_end_clean();

上面代码中的问题是-有时“程序”脚本会持续执行一段时间,但我不想让用户在这个过程中挂断超过30秒。

我考虑将输出重定向到一个文件,并在30秒后读取它(根据手册)。但我不知道如何将输出重定向到文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-29 19:20:40

代码语言:javascript
复制
"/home/somefolder/somefolder2/program $pic1 $pic2 > /path/to/your/file 2>&1"

如果你想让它在后台运行,可以在最后添加&

代码语言:javascript
复制
"/home/somefolder/somefolder2/program $pic1 $pic2 > /path/to/your/file 2>&1 &"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10798070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档