php pcntl_fork和pcntl_fork 的用法


Posted in PHP onApril 13, 2009

pcntl_fork()函数就是为当前的进程创建一个子进程。并且先运行父进程,返回的是子进程的PID,肯定大于零。在父进程的代码中可以用pcntl_fork(&$status)暂停父进程知道他的子进程有返回值。注意:父进程的阻塞同时会阻塞子进程。但是父进程的结束不影响子进程的运行。
父进程运行完了会接着运行子进程,这时子进程会从执行pcntl_fork()的那条语句开始执行(包括此函数),但是此时它返回的是零(代表这是一个子进程)。在子进程的代码块中最好有exit语句,即执行完子进程后立即就结束。否则它会又重头开始执行这个脚本的某些部分(一直没有总结出规矩)。
总之,注意两点:
1。子进程最好有一个exit;语句,防止不必要的出错;
2.

$pid = pcntl_fork(); 
//这里最好不要有其他的语句 
if ($pid == -1) { 
die('could not fork'); 
} else if ($pid) { 
// we are the parent 
pcntl_wait($status); //Protect against Zombie children 
} else { 
// we are the child 
}
PHP 相关文章推荐
PHP与MySQL开发中页面出现乱码的一种解决方法
Jul 29 PHP
php中常用字符串处理代码片段整理
Nov 07 PHP
PHP统计nginx访问日志中的搜索引擎抓取404链接页面路径
Jun 30 PHP
PHP获取数组最大值下标的方法
May 12 PHP
php中文验证码实现方法
Jun 18 PHP
[原创]php逐行读取txt文件写入数组的方法
Jul 02 PHP
详解php魔术方法(Magic methods)的使用方法
Feb 14 PHP
PHP实现根据时间戳获取周几的方法
Feb 26 PHP
PHP MVC框架skymvc支持多文件上传
May 26 PHP
php简单截取字符串代码示例
Oct 19 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
Sep 03 PHP
Laravel 5+ .env环境配置文件详解
Apr 06 PHP
sourcesafe管理phpproj文件的补充说明(downmoon)
Apr 11 #PHP
php 动态执行带有参数的类方法
Apr 10 #PHP
PHP获取类中常量,属性,及方法列表的方法
Apr 09 #PHP
php 随机生成10位字符代码
Mar 26 #PHP
php SQL之where语句生成器
Mar 24 #PHP
php cookie 作用范围?不要在当前页面使用你的cookie
Mar 24 #PHP
php xml实例 留言本
Mar 20 #PHP
You might like
PHP用星号隐藏部份用户名、身份证、IP、手机号等实例
2014/04/08 PHP
php项目开发中用到的快速排序算法分析
2016/06/25 PHP
php fread读取文件注意事项
2016/09/24 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
2018/05/12 PHP
laravel 执行迁移回滚示例
2019/10/23 PHP
javaScript 数值型和字符串型之间的转换
2009/07/25 Javascript
js获取元素在浏览器中的绝对位置
2010/07/24 Javascript
javascript 学习笔记(八)javascript对象
2011/04/12 Javascript
jquery实现漂浮在网页右侧的qq在线客服插件示例
2013/05/13 Javascript
jQuery插件分享之分页插件jqPagination
2014/06/06 Javascript
jQuery的remove()方法使用详解
2015/08/11 Javascript
使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
2015/09/24 Javascript
jquery实现select选择框内容左右移动代码分享
2015/11/21 Javascript
js + css实现标签内容切换功能(实例讲解)
2017/10/09 Javascript
JavaScript中严格判断NaN的方法
2018/02/16 Javascript
详解webpack4多入口、多页面项目构建案例
2018/05/25 Javascript
layui 监听表格复选框选中值的方法
2018/08/15 Javascript
Node.js + express实现上传大文件的方法分析【图片、文本文件】
2019/03/14 Javascript
Vue组件内部实现一个双向数据绑定的实例代码
2019/04/04 Javascript
vue项目打包上传github并制作预览链接(pages)
2019/04/19 Javascript
vue2.0 实现富文本编辑器功能
2019/05/26 Javascript
vue.js中ref及$refs的使用方法解析
2019/10/08 Javascript
python学习 流程控制语句详解
2016/06/01 Python
儿童编程python入门
2018/05/08 Python
Python装饰器的执行过程实例分析
2018/06/04 Python
Django-Model数据库操作(增删改查、连表结构)详解
2019/07/17 Python
Python 等分切分数据及规则命名的实例代码
2019/08/16 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
2020/02/12 Python
浅谈Python的方法解析顺序(MRO)
2020/03/05 Python
Python+Appium实现自动化测试的使用步骤
2020/03/24 Python
党委书记个人对照检查材料
2014/09/15 职场文书
2019各种保证书范文
2019/06/24 职场文书
2019年XX公司的晨会制度及流程!
2019/07/23 职场文书
关于Vue Router的10条高级技巧总结
2021/05/06 Vue.js
python源码剖析之PyObject详解
2021/05/18 Python
图神经网络GNN算法
2022/05/11 Python