位置: 编程技术 - 正文

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

  • 公司的货款直接到账吗
  • 员工意外险费用
  • 房地产投资
  • 运输服务有3%的税率吗
  • 购进货物没有发票接受虚开判刑案例
  • 别人给开的普通发票能抵扣多少税
  • 应收账款确认无法收回分录
  • 合作建房的土地出让金在土地增值税中可以加计扣除嘛
  • 可转换债券转股时股价高于转换价格
  • 营业成本利润率是指
  • 营改增后服务业账务处理
  • 固定资产盘盈可计入
  • 筹备费用怎么扣税的
  • 企业自行去税务开具房租发票税款怎么做?
  • 税收奖励计入什么科目
  • 手撕发票怎么粘贴平整
  • 税盘显示已过开票截止日期
  • 企业必须要掌握哪些技能
  • 委托销售的增值税税率
  • 公司注销后股东主张债权的法律规定
  • 对员工的罚款怎么做账
  • 年终汇算清缴怎么计算
  • 投资性房地产公允价值模式账务处理
  • 结转利润分配分录怎么写
  • 来料加工方式中,料件和加工后成品的所有权
  • 二级资本债是什么意思
  • php nl2br
  • 产生转让损失
  • 只有使用权的房子能继承吗
  • 发票填开有哪些规范性要求
  • vue手机端
  • 薄雾笼罩怎么写
  • 企业购进的商品是什么
  • javaweb会话跟踪技术有哪些
  • wordpress如何批量导入商品
  • 劳务费如何支付
  • 高速过路费电子发票怎么开
  • 经销商自用车是指什么
  • 机动车价外费用发票如何开具
  • 增值税的滞纳金税率
  • mysql数据库uuid
  • 个体工商户转企业政策
  • MySQL/Postgrsql 详细讲解如何用ODBC接口访问MySQL指南
  • 公司销售不动产增值税
  • 业务招待费的列支
  • 行政事业单位资产报废账务处理
  • 本月损益类未结转为零的一级科目怎么操作
  • 其他单位无偿过账合法吗
  • 提前报废固定资产会导致账面价值减少吗
  • 应付工资是应付账款吗
  • 财务费用是负数什么意思
  • 增资后持股比例计算
  • 一般纳税人车辆租赁费的税率是多少
  • 佣金开什么发票内容?
  • 提供加工劳务计入什么科目
  • 建筑业统一发票可以抵扣吗
  • 施工期间水电费没有发票财务不给报销
  • mysql常见优化手段
  • linux rpm包怎么安装
  • 一句命令
  • apache80端口被占用的解决方法
  • windows8优化
  • win7怎么看磁盘
  • 优质安卓应用
  • 了不起的Nodejs 将JavaScript进行到底
  • Linux进程间通信——使用流套接字
  • jquery 报表
  • jquery-easyui-1.3.3
  • jquery中绑定和解绑的事件有哪些
  • python常用操作运算符
  • jquery的核心函数
  • 手机截取电脑屏幕
  • unity random.value
  • python popt
  • 12366人工服务时间节假日上班吗
  • 为什么电子发票没有监制章
  • 车辆保险开增值税吗
  • 怎么使用企业级app
  • 即征即退进项税额分摊方法
  • 预缴增值税是否要预缴城建税及附加
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设