问题标签 [pcntl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PCNTL - 在当前子进程退出时分叉新子进程
我编写了一个具有以下流程的代码:
使用 PCNTL 我正在运行两个同时进行的进程,它们轮询并对数据执行一些操作。要求是,当一个进程处理完 ID 后,它应该终止,并且应该启动一个新进程,该进程将再次轮询并处理一个新 ID。
在最后一行??????
我可以process_callback()
再次调用(递归),但这不会增加系统中的内存吗?这就是为什么我宁愿让这个进程死掉并创建一个新的进程,它又称之为process_callback
php - PHP pcntl_fork():在浏览器中丢失代码
我想使用 pcntl 在 PHP 中实现 bigpipe。但是,当我从浏览器访问网页时出现问题。
测试.php
当我在 shell 中键入命令“php test.php”时,输出是正确的:
但是当我通过浏览器访问它时,页面来源却出乎意料:
为什么其余的代码消失了?
php - 如何在 Apache 中使用 pcntl_fork()?
这是我的代码,里面index.php
(只是一个例子):
此代码段在命令行中运行良好。在 Apacheexit()
中,父进程和子进程都杀死了它们。什么是解决方法?
php - MAMP 2.1.1 (Mac OS X lion) 上的 pcntl 安装问题
我在安装 pcntl 时遇到问题。我的 PHP 版本是 5.4.4,我遵循了本教程: http ://cyberpunx.com/2011/11/pcntl-so-on-osx-lion-and-mamp/
但是 Pcntl 不加载。在 php 错误日志中,我看到:
[04-Sep-2012 22:58:16 UTC] PHP 警告:PHP 启动:pcntl:无法初始化模块 使用模块 API=20090626 编译的模块 使用模块 API=20100525
编译的 PHP 这些选项需要匹配
如何正确编译 pcntl?谢谢您的帮助!
php - PHP、PCNTL 和共享内存中的队列
我在 php 中实现共享内存时遇到问题。是否可以在共享内存中创建队列?
代码在这里:
...此时,如何将项目(int 或非常短的字符串)添加到队列中?甚至可能吗?
php - 不调用 PHP pcntl_signal 回调
这是完整的可重现代码。
当我运行它时,我每秒都会看到日期值。现在如果我按 Ctrl+Ccleanup
函数不会被调用。其实signal_handler
不叫。
这是示例输出。
php - pcntl_sigwaitinfo 和信号处理程序
我正在编写一个守护进程,它周期性地做一些工作并在再次重复之前休眠一段时间。但它在睡眠时仍必须对外部影响(即终止请求)做出响应。
我设法用 ALRM 信号实现睡眠超时并用 TERM 信号终止(示例):
但是看在上帝的份上,我无法弄清楚为什么永远不会调用 sighandler。我得到以下输出:
同时,如果我不设置这个处理程序,脚本会因为 unhandler 信号而死掉。
我错过了什么吗?为什么我的信号处理函数从未被调用?pcntl_sigwaitinfo() 会干扰吗?
还有其他方法可以同时实现超时和信号处理吗?
php - 用PHP解析大量IP地址
我需要解析大量的 IP 地址。我正在使用gethostbyaddr()
它。
我最近刚读到有关使用的信息pcntl_fork()
,如果你分叉,你不必等待超时。
由于gethostbyaddr
在超时之前解析主机需要很长时间(我认为是 30 秒),因此pcntl_fork
对于大量 IP 地址使用是否实用?
php - 如何在php中加入分叉进程
我需要在哪里分叉一个进程。然后当他们的任务完成时,父进程应该继续做一些其他的工作。如何才能做到这一点?这是我所做的
当我用这段代码执行程序时,我得到了这个输出......
但在打印完成计数 5 程序后似乎挂起。它不会返回提示。所以现在我们知道所有子(分叉)进程都已完成,我们如何恢复进一步的执行?
php - php 5.4.9 在 centos 上的 System_Daemon 和 pcntl
我一直在使用 System_Daemon 类来创建一个发送短信的守护进程。
该脚本与 php 5.3.8 完美配合,但现在,使用 php 5.4.9 它会崩溃,但不会创建错误或通知消息。
在 System_Daemon 类的函数 _fork 中,总是返回一个告诉它是父级的值
所以,在 _summon() 函数中,它询问 _fork() 返回值的地方,总是等于 false。
我把这篇文章加红了,来自另一个有类似问题的成员: PHP Pear system_daemon doesn't fork
我提出了他的建议,但没有成功。
有人可以帮我解决这个问题吗?
我对我的英语感到很抱歉,我努力解释自己。