php中pcntl_fork详解


Posted in PHP onApril 01, 2021

pcntl_fork()函数是php-pcntl模块中用于创建进程的函数。(不支持windows)

至于php_pcntl扩展如何安装开启这里就不介绍了,只分析pcntl_fork()这个函数本身。

$one = 123;
$one++;
$two = time();
$pid = [];
$pid = pcntl_fork();
$three = time();

当:pcntl_fork()函数执行的时候,会创建一个子进程。子进程会复制当前进程,也就是父进程的所有:数据,代码,还有状态。

1.当pcntl_fork()创建子进程成功后,在父进程内,返回子进程号,在子进程内返回0,失败则返回-1

2.子进程会复制父进程的代码,数据。那么就说明:子,父进程拥有的代码和数据会一模一样。

3.重点:子进程会复制父进程的状态,那么就有上面的示例代码:在第五行执行了pcntl_fork,那么创建出的子进程,代码也是从第五行开始执行的。又子进程复制了数据,代码。所以,在子进程内同理存在:$one,$two等变量

for ($i = 0; $i < 3; $i++) {
    $pid = pcntl_fork();
}
sleep(30);

那么:上面的for循环,实际会产生多少个子进程?答案是7个,在linux下,用ps命令将可以看到8个进程(1个父进程,7个子进程)
原因:父进程在 i = 0 时 , 创 建 出 一 个 子 进 程 0 , 此 时 的 子 进 程 , 还 会 继 续 执 行 循 环 。 创 建 出 属 于 自 己 的 子 进 程 。 同 理 : i=0时,创建出一个子进程0,此时的子进程,还会继续执行循环。创建出属于自己的子进程。同理: i=0时,创建出一个子进程0,此时的子进程,还会继续执行循环。创建出属于自己的子进程。同理:i=1时也会这样……

PHP 相关文章推荐
php录入页面中动态从数据库中提取数据的实现
Oct 09 PHP
分页详解 从此分页无忧(PHP+mysql)
Nov 23 PHP
浅析Apache中RewriteCond规则参数的详细介绍
Jun 30 PHP
PHP采集类snoopy详细介绍(snoopy使用教程)
Jun 19 PHP
隐性调用php程序的方法
Jun 13 PHP
深入浅析php json 格式控制
Dec 24 PHP
php的laravel框架快速集成微信登录的方法
Dec 12 PHP
PHP的mysqli_ssl_set()函数讲解
Jan 23 PHP
PHP实现的微信公众号扫码模拟登录功能示例
May 30 PHP
php使用json-schema模块实现json校验示例
Sep 28 PHP
tp5.1 框架join方法用法实例分析
May 26 PHP
phpquery中文手册
Mar 18 PHP
php 解析非标准json、非规范json
Apr 01 #PHP
php 原生分页
Apr 01 #PHP
php远程请求CURL案例(爬虫、保存登录状态)
Apr 01 #PHP
php 防护xss,PHP的防御XSS注入的终极解决方案
Apr 01 #PHP
WordPress多语言翻译插件 - WPML使用教程
php 获取音视频时长,PHP 利用getid3 获取音频文件时长等数据
微信小程序和php的登录实现
Apr 01 #PHP
You might like
如何限制访问者的ip(PHPBB的代码)
2006/10/09 PHP
PHP函数引用返回的实例详解
2016/09/11 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
php7 参数、整形及字符串处理机制修改实例分析
2020/05/25 PHP
javascript 鼠标悬浮图片显示原图 移出鼠标后原图消失(多图)
2009/12/28 Javascript
ASP.NET中基于JQUERY的高性能的TreeView补充
2011/02/23 Javascript
jquery实现的鼠标下拉滚动置顶效果
2014/07/24 Javascript
js的touch事件的实际引用
2014/10/13 Javascript
JavaScript SHA-256加密算法详细代码
2016/10/06 Javascript
浅谈React 属性和状态的一些总结
2016/11/21 Javascript
利用vue.js插入dom节点的方法
2017/03/15 Javascript
vue中计算属性(computed)、methods和watched之间的区别
2017/07/27 Javascript
小程序如何在不同设备上自适应生成海报的实现方法
2019/08/20 Javascript
axios如何利用promise无痛刷新token的实现方法
2019/08/27 Javascript
python调用新浪微博API项目实践
2014/07/28 Python
Python跳出循环语句continue与break的区别
2014/08/25 Python
浅谈python中的数字类型与处理工具
2017/08/02 Python
python中将函数赋值给变量时需要注意的一些问题
2017/08/18 Python
Python将多个list合并为1个list的方法
2018/06/27 Python
pygame游戏之旅 添加icon和bgm音效的方法
2018/11/21 Python
Python 日期区间处理 (本周本月上周上月...)
2019/08/08 Python
python根据文本生成词云图代码实例
2019/11/15 Python
关于Pytorch的MNIST数据集的预处理详解
2020/01/10 Python
新手学python应该下哪个版本
2020/06/11 Python
浅谈keras.callbacks设置模型保存策略
2020/06/18 Python
失业者真诚求职信范文
2013/12/25 职场文书
和平主题的演讲稿
2014/01/12 职场文书
大学生校园创业计划书
2014/02/08 职场文书
2014年评职称工作总结
2014/11/20 职场文书
英语邀请函范文
2015/02/02 职场文书
2015年服务员个人工作总结
2015/05/27 职场文书
趣味运动会新闻稿
2015/07/17 职场文书
运动会闭幕式致辞
2015/07/29 职场文书
年会邀请函的格式及范文五篇
2019/11/02 职场文书
css3实现背景图片颜色修改的多种方式
2021/04/13 HTML / CSS
教你使用pyinstaller打包Python教程
2021/05/27 Python