问题标签 [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.

0 投票
0 回答
573 浏览

php - PCNTL - 在当前子进程退出时分叉新子进程

我编写了一个具有以下流程的代码:

使用 PCNTL 我正在运行两个同时进行的进程,它们轮询并对数据执行一些操作。要求是,当一个进程处理完 ID 后,它应该终止,并且应该启动一个新进程,该进程将再次轮询并处理一个新 ID。

在最后一行??????我可以process_callback()再次调用(递归),但这不会增加系统中的内存吗?这就是为什么我宁愿让这个进程死掉并创建一个新的进程,它又称之为process_callback

0 投票
1 回答
451 浏览

php - PHP pcntl_fork():在浏览器中丢失代码

我想使用 pcntl 在 PHP 中实现 bigpipe。但是,当我从浏览器访问网页时出现问题。

测试.php

当我在 shell 中键入命令“php test.php”时,输出是正确的:

但是当我通过浏览器访问它时,页面来源却出乎意料:

为什么其余的代码消失了?

0 投票
2 回答
8512 浏览

php - 如何在 Apache 中使用 pcntl_fork()?

这是我的代码,里面index.php(只是一个例子):

此代码段在命令行中运行良好。在 Apacheexit()中,父进程和子进程都杀死了它们。什么是解决方法?

0 投票
2 回答
1704 浏览

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?谢谢您的帮助!

0 投票
1 回答
677 浏览

php - PHP、PCNTL 和共享内存中的队列

我在 php 中实现共享内存时遇到问题。是否可以在共享内存中创建队列?

代码在这里:

...此时,如何将项目(int 或非常短的字符串)添加到队列中?甚至可能吗?

0 投票
3 回答
8209 浏览

php - 不调用 PHP pcntl_signal 回调

这是完整的可重现代码。

当我运行它时,我每秒都会看到日期值。现在如果我按 Ctrl+Ccleanup函数不会被调用。其实signal_handler不叫。

这是示例输出。

0 投票
1 回答
1139 浏览

php - pcntl_sigwaitinfo 和信号处理程序

我正在编写一个守护进程,它周期性地做一些工作并在再次重复之前休眠一段时间。但它在睡眠时仍必须对外部影响(即终止请求)做出响应。

我设法用 ALRM 信号实现睡眠超时并用 TERM 信号终止(示例):

但是看在上帝的份上,我无法弄清楚为什么永远不会调用 sighandler。我得到以下输出:

同时,如果我不设置这个处理程序,脚本会因为 unhandler 信号而死掉。

我错过了什么吗?为什么我的信号处理函数从未被调用?pcntl_sigwaitinfo() 会干扰吗?

还有其他方法可以同时实现超时和信号处理吗?

0 投票
1 回答
209 浏览

php - 用PHP解析大量IP地址

我需要解析大量的 IP 地址。我正在使用gethostbyaddr()它。

我最近刚读到有关使用的信息pcntl_fork(),如果你分叉,你不必等待超时。

由于gethostbyaddr在超时之前解析主机需要很长时间(我认为是 30 秒),因此pcntl_fork对于大量 IP 地址使用是否实用?

0 投票
0 回答
184 浏览

php - 如何在php中加入分叉进程

我需要在哪里分叉一个进程。然后当他们的任务完成时,父进程应该继续做一些其他的工作。如何才能做到这一点?这是我所做的

当我用这段代码执行程序时,我得到了这个输出......

但在打印完成计数 5 程序后似乎挂起。它不会返回提示。所以现在我们知道所有子(分叉)进程都已完成,我们如何恢复进一步的执行?

0 投票
0 回答
366 浏览

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

我提出了他的建议,但没有成功。

有人可以帮我解决这个问题吗?

我对我的英语感到很抱歉,我努力解释自己。