位置: 编程技术 - 正文

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

  • 已在境外缴纳的企业所得税税额 分国不分项
  • 利息税定义
  • 增值税的账务处理办法
  • 无法支付的应付账款需要交增值税吗
  • 街道办事处发票抬头写什么
  • 营业总成本包括管理费用吗
  • 公司转账给法人用途写什么
  • 软件公司主营业务类别
  • 增值税电子发票能抵税吗
  • 本年利润期末一般有余额吗
  • 纳税人领购普通发票要求
  • 定期定额户超过定额怎么报个税
  • 暂估入库已结转怎么处理
  • 怎么填报清算所得税申报表?
  • 销售给客户红包,说给的现金,如何把控
  • 应交税金在贷方怎么调
  • 企业所得税减免税额包括哪些
  • 商业保险可以报税吗
  • 一般贸易免抵退税计算
  • 减免附加税的账户有哪些
  • 纳税人状态怎么填写
  • 税务局退的教育费附加怎么做账
  • 外币折算差额怎么记账
  • 没给顾客发票需要罚款吗
  • 小微企业怎么合法避税
  • 银行短期理财利息怎么算
  • 应交税费贷方余额负数表示什么
  • 认缴出资额日期没有是什么意思
  • 计提劳务派遣人员社保收到发票后没有付款的会计分录
  • 汇算清缴时业务招待费税收金额为零是什么原因
  • leeurbanriders是什么牌子
  • PHP:curl_reset()的用法_cURL函数
  • 不动产租赁费计入什么科目
  • 房地产取得土地怎么做账
  • 深入理解php内核pdf
  • three.js gui
  • 税金及附加和营业收入有关系吗
  • html导航栏边框
  • js中数组操作
  • 固定资产暂停使用期间需要计提折旧吗
  • 职工教育经费具体比例
  • day14-HTTP01
  • mybatis模糊查询特殊字符处理
  • 借款单属于外来单据吗
  • 企业预付账款科目设置
  • 新准则下开办费摊销
  • 信息技术服务费的税率是多少
  • 为什么要缴纳保险
  • 异地车辆登记证书怎么补办
  • 年报资本负债表怎么看
  • 以前年度损益调整怎么做账
  • 珠宝行业的会计处理方式
  • 以前期间留抵税额是什么意思
  • 处理报废的固定资产账务处理
  • 跨年的个人所得税可以更正吗
  • 医院产生的相关费用
  • 费用误计入固定资产
  • 非限定性净资产属于什么科目
  • 一般纳税人抵扣进项税流程
  • 废料卖出算哪种收入
  • 应付票据含税吗
  • mysql中增删改查语句
  • centos叫什么
  • centos部署tomcat配置
  • win10系统怎么修改字体大小
  • Linux dpkg-query 命令用法详解(Debian Linux中软件包的查询工具)
  • win7系统通知在哪
  • 关闭iebrowser
  • cocos2dx4.0入门
  • opengl transform
  • 解决跨域的原理
  • unity鼠标移动控制角色旋转
  • js浏览器运行机制
  • 超链接打开比较合适的方式是什么
  • 所属税务局怎么填写
  • 电子税务局辽宁省
  • 国家税务总局39号文
  • 徐州第三税务分局
  • 2021医保交费截止
  • 太平税务局电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设