猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
PHP执行后台进程
PHP执行后台进程
我需要在用户操作上执行目录副本,但是目录相当大,所以我希望能够在用户不知道完成副本所需的时间的情况下执行这样的操作。
如有任何建议,将不胜感激。
收到一只叮咚
浏览 885
回答 4
4回答
陪伴而非守候
假设这是在Linux机器上运行的,我总是这样处理它:exec(sprintf("%s > %s 2>&1 & echo $! >> %s", $cmd, $outputfile, $pidfile));这将启动命令$cmd,将命令输出重定向到$outputfile,并将进程id写入$pidfile.这使您可以轻松地监视流程正在做什么,以及它是否仍在运行。function isRunning($pid){ try{ $result = shell_exec(sprintf("ps %d", $pid)); if( count(preg_split("/\n/", $result)) > 2){ return true; } }catch(Exception $e){} return false;}
0
0
0
白衣染霜花
以任何语言(php/bash/perl/etc)编写服务器端脚本,然后从php脚本中的过程控制函数中调用它。该函数可能检测标准io是否用作输出流,如果是,则将设置返回值。Proc_Close (Proc_Open ("./command --foo=1 &", Array (), $foo));我在命令行中使用“睡眠25s”作为命令进行了快速测试,它运行起来很有魅力。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
PHP
php如何把参数放在Http Request Heade????
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续