位置: 编程技术 - 正文

php中实现进程锁与多进程的方法(php如何实现多进程)

编辑:rootadmin

推荐整理分享php中实现进程锁与多进程的方法(php如何实现多进程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php进程通信,php 线程 进程,php进程模型,php 线程 进程,php进程数量怎么决定,php 线程 进程,php进程模型,php 进程锁,内容如对您有帮助,希望把文章链接给更多的朋友!

为什么需要进程锁?

主要作用就是防止你重复执行同一程序,主要用在crontab中,当你设置了一个定时任务,然后每分钟执行一次,如果不加进程锁的话,之前的进程没有执行完的情况下。每分钟都会有新的进程生成了。加上进程锁之后,每次定时任务执行的时候,就会去判断之前的进程锁是否存在,如果存在就不执行。

1.单进程的情况的进程锁实现

直接来个例子好了,写个php脚本, 就先命名为process.php吧,代码如下:

然后在linux环境下,执行这个代码,第一次会正常运行,然后第二次运行的时候就会提示:Process already exists. 之后无论执行多少次都会出现这个提示表示进程失败了。

php中实现进程锁与多进程的方法(php如何实现多进程)

上面的代码同样可以利用在你定时计划的脚本里,在开头加上就好了。相当于对单个脚本加上进程锁。

2.进程锁实现多进程

上面说的是一个锁对应一个php脚本,那要用进程锁实现多进程的话,其实就是让一个进程可以有多个进程锁就好了。 对上面的代码的进程锁的名字部分稍加改动即可实现,根据传进来的参数来决定进程锁的名字,如果传进来的参数一致则对应同一个锁。

在linux环境下。进入文件所在目录,执行php process.php 1, 然后新开个窗口,在执行php process.php 1,就会提示Process already exists这个错误,但是如果你执行的是php process.php 2,就会正常运行,同样,你可以传两个参数,如php process.php 1 2,这样的话,对应的又是新的进程锁。这个实现主要用到的是argc和argv 这两个php自带的参数,argc表示参数总数,argv 表示具体调用的时候用的是哪个参数。

3.进程锁在yii2中的实现

在yii2中要实现多进程的进程锁的话,要继承yii的console里的控制器,这样能实现参数的传递,use yiiconsoleController; 然后在crontab中,命令如下,用yii自带的命令来执行定时脚本。然后进程锁的代码和上面的一样就可以了。

4.杀死进程的命令

这个绝对是压箱底的东西了,一般人我不告诉他。 通过一条命令就能删除对应的进程。下面的命令就是可以直接删除进程名字为 process_name 的所有进程。要删除什么只要直接将 process_name修改成你想要删除的进程名字就可以了

总结

标签: php如何实现多进程

本文链接地址:https://www.jiuchutong.com/biancheng/301765.html 转载请保留说明!

上一篇:PHP简单实现上一页下一页功能示例(php zmq)

下一篇:PHP 等比例缩放图片详解及实例代码(前端等比例缩放)

  • 广告宣传费扣除比例
  • 税务师考试的报名费怎么还没有退成功
  • 小规模纳税人注册资金最高多少
  • 应税项目和非应税项目起征点一样吗
  • 营业费用和营业收入的关系
  • 正常工资薪金所得是什么意思
  • 居民企业参股外国企业信息报告填写
  • 房地产企业会计制度
  • 固定资产加速折旧法
  • 收入工程款后什么时候计提印花税
  • 长期股权投资减值准备
  • 递延收益在资产负债表哪里列示
  • 开具的增值税专用发票上注明的金额
  • 过路费去年的票还可以用吗
  • 增值税扣完税款还能更改吗
  • 利润总额要减去营业外支出吗
  • 当期所得税费用与递延所得税费用
  • 没有产权的房子可以公证吗
  • 水利工程建设费用组成
  • 对方给我们开发票
  • 预缴企业所得税是含税还是不含税
  • 勒索病毒文件怎么恢复
  • 出口退税业务流程顺序
  • win 7怎么办
  • 失控发票是什么
  • 企业合并的增值税处理
  • phpstudy配置ftp服务器
  • php bcmul
  • ChatGLM-6B (介绍相关概念、基础环境搭建及部署)
  • win7纯净版系统激活
  • 2020年外贸企业年终总结
  • thinkphp excel
  • PHP中使用什么关键字声明变量的作用域为全局
  • docker运行多个镜像
  • php删除数据
  • 应交税费年末有余额怎么处理
  • webservice api接口
  • 织梦收费5800的解决方法
  • 不具备独立核算条件的行政单位
  • 企业发生销售退回时,不论销售退回的商品
  • React props全面详细解析
  • python中的参数传递
  • 审计外聘人员支付标准
  • 成本票和进项票举例说明
  • 国际货运代理需要什么样的人才
  • 公司支付款项制度
  • 应交税费已交税金是什么意思
  • 黄金珠宝加工销售怎么样
  • 开红字发票如何调整收入?
  • 关停企业的国家规定
  • 计提工资的会计账务处理
  • 政府征税再进行补贴对消费者福利的影响
  • 如何开展服务
  • 工程结算和工程竣工决算的区别
  • 投资性房地产公允价值小于账面价值
  • 期间费用率怎么算
  • MSSQL 2005/2008 日志压缩清理方法小结
  • linux的日志文件
  • windows server 2008 u盘安装
  • vmware虚拟机激活码
  • u盘怎么安装win7镜像文件
  • win8应用商店怎么卸载
  • win7系统命令大全
  • android基础入门
  • cocos2d安装
  • 六个自由
  • js经典案例代码大全
  • android 自定义
  • python 脚本管理
  • js oncontextmenu事件使用详解
  • angular获取数据给后端
  • js实现表单提交
  • python 基础教程第三版 怎么样
  • JavaScript+html5 canvas制作色彩斑斓的正方形效果
  • 安卓手机管家下载
  • 省市区json
  • 快速排序的算法流程图
  • javascript获取当前年份
  • 河南热力公司收费标准
  • 广州代理记账公司注册
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设