位置: 编程技术 - 正文

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

  • 折旧年限与税法有关吗
  • 全国税收调查表企业表怎么填
  • 税前利润税率
  • 两年前的发票可以补开吗
  • 异地车辆流程
  • 期初存货中固定制造费用
  • 混合销售行为如何缴纳增值税税率
  • 自然人扣缴是什么意思
  • 转给子公司发工资分录
  • 费用会计具体工作总结
  • 盘盈存货会计处理会计分录
  • 公司注销后应收款能打到法人账户吗
  • 购进原材料验收入库,贷款商业汇票结算
  • 个人缴纳物业费怎么开发票
  • 成立分公司总公司有什么影响
  • 招聘时开具的专用发票可以抵扣吗?
  • 递延所得税资产和负债怎么理解
  • 销售返利是冲减收入还是做销售费用
  • 收境外的钱
  • 税务代开的专票未取票,逾期会作废吗?
  • 设计服务交文化建设税吗
  • 将自产产品无偿赠送税务处理
  • 控制上网速度的软件
  • 生产车间工资计入什么费用科目
  • 个体户开劳务费发票需要交哪些税
  • 如何找回windows密钥
  • node.js和npm
  • 公司账户转账到出纳个人账户
  • 自定义发件人邮件
  • 员工宿舍中介费计入什么科目
  • 怎么用云服务
  • nginx反向代理详解
  • 若依框架前端如何通过后端加载页面
  • php获取url内容
  • 浅谈php中的错误处理方法
  • 平常心下一句该怎么说
  • 代扣代缴的企业所得税计入成本吗
  • 可供出售金融资产的会计处理
  • 非货币型资产交换CPA
  • 融资交易的会计处理
  • 人力资源公司的税率是多少
  • 合伙人退伙后对退伙后的债务承担责任吗
  • win2008r2服务器文件无法进入软件
  • 账实核对是指各种财产物资与债权债务的账面余额
  • 社保扣款上月没扣费
  • 购入研发设备可以全额抵扣吗
  • 公司买的吃的计入什么科目
  • 公司注销怎么做
  • 增值税专用发票和普通发票的区别
  • 盘亏的固定资产是资产吗
  • 进项做成了销项怎么调账
  • 餐饮招待怎么入账
  • 营改增后工程项目计价规则也随之发生了改变对错
  • 员工离职未领工资怎么处置
  • 分公司独立核算和非独立核算哪个好
  • 公司增资需要什么流程呢 最新
  • mysql连接时间长怎么优化
  • ubuntu怎么装
  • windowsserver2008无线网不能连接
  • win7系统运行在哪里
  • 如何使用airplay2
  • linux中添加用户和组的操作
  • mac进入睡眠时间长
  • win8操作中心怎么关闭
  • 清除win7更新缓存
  • 关于linux中Squid代理服务器的10个实用面试问答
  • cocos2d游戏引擎
  • listview的view属性
  • kindeditor获取内容
  • Node.js中的事件循环是什么意思
  • win7怎么设定关机时间
  • 防止重复调用接口
  • bootstrap怎么学
  • java教程 视
  • json对象结构中,关键字key必须为什么类型
  • javascript面向对象编程
  • 每月个人所得税申报截止时间是几号
  • 房产税纳税义务终止
  • 店面转让,房租怎么交税
  • 云南省残疾人就业服务中心官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设