位置: 编程技术 - 正文

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

  • 个体户开增值税怎么开
  • 小规模纳税人税收优惠2023
  • 小规模纳税人享受1%的税率
  • 全年没有超过起征点需要汇算吗
  • 民间非营利机构加班费记什么科目
  • 有会计从业资格证还有用吗
  • 资本公积转增股本什么意思
  • 向投资者分配现金股利会影响负债吗
  • 普通合伙企业要交什么税
  • 亏损企业要做业务处理吗
  • 销售发票红冲会计分录怎么做?
  • 企业自建房产提成多少
  • 企业房产税优惠政策2022
  • 企业债务的利息允许从税前利润扣除是什么意思
  • 企业出租自有厂房超经营吗
  • 商贸企业加工费票计入什么科目
  • 租赁厂房算什么费用
  • 特许权使用费的收入确认时间
  • 税控盘280减免代码
  • 城镇土地使用税会计分录怎么做
  • 原始凭证填写错误,可撕毁重新编制一张
  • 批发零售的成本核算
  • 工程施工科目核算
  • 商贸公司进项税额大
  • 代发工资开的发票可以抵扣吗?
  • 餐饮行业的销售模式
  • 铡什么意思
  • 独享20m网速快吗
  • edge弹窗
  • 单位房子可以卖吗
  • linux抓包 udp
  • 生产成本的主要分析方法
  • php 集成环境
  • 软件是无形的,可见的物理实体
  • 杜布罗夫尼克老城去机场
  • VUE3.2 + vue-echarts + DataV 数据可视化大屏(项目)
  • 兼职工作是单位工作吗
  • php usort函数
  • 织梦图集的使用教程
  • 织梦怎么用模板建站
  • 玩转mongodb4.0从入门到实践
  • python中变量类型有几种
  • 还款利息
  • 购买铝材会计分录
  • 业务招待费是否计入管理费用
  • 固定资产本期增加怎么算
  • 现金流量表为负数的几种原因
  • 运费发票抵扣要求
  • 域名 续费
  • 税收滞纳金可以扣除吗
  • 私立幼儿园规模标准
  • 税务局收款收据
  • 自己做的房子可以办房产证吗
  • 存款利息收入是否缴纳增值税
  • 代理记账许可证查询
  • 年利率怎么算计算器
  • sql server 复制数据库具体操作图解
  • winxp启动
  • mac自带的看图软件怎么使用
  • win 超级终端
  • win8不能启动
  • xp创建VPN连接图文教程
  • linux中压缩文件
  • macosmajove
  • 桌面的word
  • windows10粘滞键
  • win10系统打不开应用程序
  • opengl纹理错误变成条纹
  • jquery获取复选框是否被选中
  • androidserviceslibrary设置
  • perl -pi
  • python文本处理教程
  • python生成器有几种写法
  • node.js中的http.response.setHeader方法使用说明
  • node.js web开发
  • javascript基础教程pdf
  • android 监听事件
  • 技术总结结束语
  • Python的装饰器用法学习笔记
  • 税务数字证书密码修改失败
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设