PHP 使用 proc_open 以便它不等待它打开(运行)的脚本完成?
我花了一段时间,但无法让它发挥作用,我很抱歉,因为我之前问了一个与此相关的问题,但将其删除,这样我就可以做更多研究来缩小问题范围,此时我陷入困境因为我以为我有这个解决方案,但它没有按我的预期工作。我发现一个论坛,有人问了类似的问题,他们给出了如下代码,我正在尝试。它确实运行了脚本,但它仍然等待它完成,然后再转到 PHP 代码中的下一行
proc_close(proc_open ("/var/www/other_scripts/perl/apps/emails_extract_from_url.pl \"$stoopid\"", array(), $foo));
I've spent a while on this but can't get this to work, I apologize as I asked a somewhat related question about this earlier but deleted it so I could do more research to narrow down the question, at this point I am stuck as I thought I had the solution with this but its not working as I expect.. I found a forum where someone asked a similar question and they gave code like below, which I am trying.. it does run the script, but it still waits for it to finish before going to the next line in the PHP code
proc_close(proc_open ("/var/www/other_scripts/perl/apps/emails_extract_from_url.pl \"$stoopid\"", array(), $foo));
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
嘿,我最近经常使用 proc_open,它从不等待它完成后再继续。确保指定管道,而不仅仅是使用空 array()
并将 proc_open 分配给变量。
然后,您可以使用
proc_get_status($myProc);
获取进程的状态。更多信息请参见
http://au.php.net/proc_open
有关关闭的更多信息。
Hey i've been using proc_open alot lately and it never waits for it to finish before moving on. Make sure you specify the pipes and not just use an empty array()
and also assign proc_open to a variable.
You can then get the status of your process by using
proc_get_status($myProc);
More information here
http://au.php.net/proc_open
More Information on closing.
我使用 proc_open 时的一些代码
我遇到了 proc_close 问题(10 到 30 秒),所以我只是使用 linux 命令 Kill 终止了该进程
Some of my code when i played around with proc_open
I had issues with proc_close (10 to 30 seconds) so i just killed the process using linux command kill
您的命令行参数末尾需要有一个与号 (&):
You need an ampersnad (&) at the end of your command line argument: