位置: 编程技术 - 正文

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 等比例缩放图片详解及实例代码(前端等比例缩放)

  • 增值税开票软件客服电话
  • 金税四期什么时候正式上线
  • 购买礼品送客户个人所得税
  • 增值税专用发票使用规定 最新
  • 油票发票在报销中怎么开
  • 小规模普票冲红原票要退回吗
  • 流动资产增幅
  • 两免三减半的概率是多少
  • 销售的增值税怎么算
  • 个税专项扣除是什么时候开始实行
  • 财政拨款的事业单位有哪些
  • 国有企业取得的土地收储款是否要上缴财政
  • 滞纳金用留抵增值税交怎么处理
  • 投资性房地产的处置账务处理
  • 工地上汽车加油怎么加
  • 债权受让方如何交税
  • 房产税每次申报都要维护吗
  • 小规模转一般纳税人生效时间
  • 国企不交社保怎么办
  • 保安服务费可以计入劳务费吗
  • 不动产60%和40%抵扣时间
  • 筹建期间的工资可以直接记到管理费用吗
  • 工程施工属于什么会计科目
  • 增值税申报交税后怎样补录未抵扣进项税
  • 长期股权投资损失计入什么科目
  • 房地产车位收入做账
  • 路由器2.4g和4g有什么区别
  • ios9.3.5如何越狱
  • iphone6splus 充电
  • 最薄的平板电脑是哪种
  • RuntimeError: (PreconditionNotMet) The third-party dynamic library (cudnn64_7.dll) that Paddle depen
  • 药品生产企业应建立
  • 赔偿金和违约金有什么区别
  • api使用方法
  • 应收账款为负数正常吗为什么
  • php教程从入门到精通
  • 银行承兑汇票贴现分录
  • 用于职工福利的进项税账务处理
  • 支付委托加工费的记账凭证
  • mysql优化总结
  • 农业用肥尽量不选择
  • 公司举办年会的心得体会
  • 以房租入股公司怎么交税
  • sql server 2008怎么使用sql语句
  • 调整以前年度少计收入
  • 未分配利润分配后在报表如何体现
  • 返利冲减销售收入还是进费用
  • 资本公积的账务处理例题
  • 小规模销售免税产品需要交税吗
  • 采用账龄分析法计提坏账准备时,收到
  • 实收资本增减变化为负数的原因
  • 认缴制下实收资本需要验资吗
  • 营业成本年末怎么结转
  • 报销管理规定
  • 税金及附加科目余额在借方还是贷方
  • 注销企业基本户销户规定
  • ubuntu怎样
  • linux使用pip
  • ubuntu12.04.5安装教程
  • centos中如何查看ip地址
  • win10双击应用程序没反应
  • win10家庭版教程
  • window8任务管理器
  • linux a
  • win7便签在哪里找回来
  • win10预览文件怎么显示内容
  • [置顶]游戏名:chivalry2
  • Cocos2dx3.2 Crazy Tetris 游戏输入(键盘事件,重力事件,触摸屏事件)
  • 安卓手机微信取消窗口化
  • nodejs使用es6
  • angularjs简介
  • Centos6.8下Node.js安装教程
  • 3ds 俄罗斯方块
  • jquery做下拉
  • javascript书写基本规范
  • 如何在电子税务局签订三方协议
  • 定期定额纳税申报表应税项应填哪个数
  • 电子税务局校验码
  • 发货确认收入还是以开票确认收入
  • 营销代码是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设