位置: 编程技术 - 正文

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

  • 公司利润税怎么交
  • 什么情况增值税计入成本
  • 出口货物丢失起诉谁
  • 资产管理公司的使命
  • 工程招标费计入什么科目
  • 事业单位合并财务交接
  • 增值税计入当期损益吗?
  • 电脑的折旧年限是多久
  • 本月进项留抵会计分录
  • 其他综合收益税后净额影响净利润吗
  • 房产企业因资金问题退市
  • 固定资产采用工作量法计提折旧怎么算
  • 公司研发阶段的产品领料怎么处理?
  • 进口关税税率和增值税
  • 核定征收个体户个人经营所得税
  • 补提折旧以前年度损益调整汇算清缴怎么处理
  • 年终奖金在年度内扣税吗
  • 公司搞活动的话术
  • 用来退税的进项怎么抵扣
  • 一般纳税人转出进项税额
  • 营改增行业注释
  • 团体意外伤害险是保的什么
  • 受让无形资产是什么意思
  • 资本公积可以怎么处理掉
  • 评估资产没有发票和流水怎么办
  • 交通票报销有哪些
  • 存货跌价准备是谁的备抵账户
  • RAVMOND.exe - RAVMOND是什么进程.有什么作用
  • 公司收到的应收股利需要分配利润吗
  • 购买性支出和转移性支出的区别可以归纳为()
  • 用应付票据付应付账款
  • 蒂内河畔圣艾蒂安小镇,法国阿尔卑斯省 (© CAVALIER Michel/hemis.fr/Alamy Stock Photo)
  • php数组求最大值
  • 个人销售废旧物资如何开票
  • win11的截屏
  • phpcms怎么用
  • 短期借款利息有可能资本化处理,也可能费用化处理
  • 销售旧货税率
  • 其他权益工具是什么会计科目
  • 外币财务报表的未分配利润
  • 发票没拿回来可以报销吗
  • 工会经费按工资总额的
  • mysql使用ssl连接
  • 预收账款的会计要素
  • 可以单独设置一个人三天可见吗
  • ibm-db2-admin
  • 帐外资金
  • 长期股权投资减值准备是什么科目
  • 取得股息红利所得 个人所得税
  • sql怎么搜索表
  • 水泥建材销售公司有哪些
  • 以旧换新价格怎么确认
  • 借款合同相关法条
  • 公司法规定股权转让需要满足什么条件
  • 交通运输行业指什么
  • 收银员长款短款什么意思
  • 金税盘离线开票时间超限的处理方法
  • Win10 Mobile 10549中Cortana电池消耗很大该怎么办?
  • mac通讯录怎么删除
  • ubuntu 12.04使用QQ截图安装教程
  • linux命令行怎么查看公网ip
  • winxp程序和功能在哪里
  • libts.so.0
  • windows7不显示移动硬盘
  • 网页制作颜色搭配
  • python for key in
  • perl \w
  • cocos code ide 1.0.0 RC0 使用教程
  • unityc#打不开
  • JavaScript 浏览器对象
  • angular script
  • 安卓的通用在哪里
  • jquery?
  • js中的div标签怎么用
  • python内置函数format
  • 图片处理流程
  • 重大税务违法案件一案双查标准
  • 文化服务包括哪些专业
  • 江西税务登记证查询官网
  • 什么叫做免抵税额
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设