位置: 编程技术 - 正文

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

  • 进项税额转出就是要多交税吗
  • 房地产企业什么时候开具正式发票
  • 结转本月完工入库产品制造成本,甲产品800台全部完工
  • 报税时提示缺少相关组件怎么解决
  • 本年利润包含增值税吗
  • 合同方和付款方不一致,发票开付款方可以吗
  • 票据贴现的账务处理案例
  • 赡养老人专项附加扣除可以是爷爷奶奶吗
  • 小规模没有进项可以开发票吗
  • 半成品成本核算 一般企业怎么核算
  • 期初余额什么时候在借方什么时候在贷方
  • 财产租赁合同印花税计税依据含税吗
  • 提取法定盈余公积比例
  • 收到促销商品怎么做分录
  • 提前退休获得一次性补贴要交个人所得税吗?
  • 2017年一般纳税人增值税优惠
  • 材料票可以直接在税务局开吗
  • 保险付款后几天给发票保单
  • 资金账簿印花税税率
  • 发票查询发票代码有误
  • 员工工资漏申报怎么办
  • 软件技术开发是什么
  • 招待客户住宿费可以抵扣进项税吗合理吗
  • 收不到的物业费是否增值税确认收入
  • win11 桌面右键
  • 汽车销售公司取名字参考大全图片
  • php字符串型数据的定义方式
  • 房地产评估费计算公式
  • 增值税一般纳税人资格登记表
  • clipbrd.exe是什么意思
  • 什么手机最薄最有手感
  • 伏尔塔瓦河上的纤夫
  • 租入固定资产改良支出属于资本性支出吗
  • php连接数据库实现登录注册
  • 比利牛斯山作为天然界限
  • php数组排列组合
  • 玩转ChatGPT:中科院ChatGPT Academic项目部署与测评
  • React Hook - useEffecfa函数的使用细节详解
  • php环境搭建apache
  • php_curl.dll
  • 发票纳税人识别号错了怎么解决
  • 企业付检测费的会计科目
  • 浅析企业坏账产生的原因及对策
  • 营业税规定
  • python 序列化
  • 逐步结转分步法和平行结转分步法
  • 季度所得税收入多报,年度可以调整吗
  • 专用发票跨月冲红流程
  • 企业所得税放入什么科目
  • 支付债券发行费怎么算
  • 加计扣除进项税额是什么意思
  • 揭秘如何投屏纽约时代广场
  • mssql分布式数据库
  • 外购的商品
  • 购买股票的交易费用计入入账价值吗
  • 应交税金期末为负数
  • 支付员工经济补偿金会计处理方式
  • 公司闲置房屋出租合法吗
  • 车保险说给返钱是真的吗
  • 对公户单笔转账有限额吗
  • 公账直接转给个人,对公司有什么影响吗
  • 应付账款一直挂着,怎么消掉
  • 应付票据含税吗
  • ubuntu安装软件没反应
  • Windows Server 2008:手足之争下的赢家
  • win10预览版21337
  • win8开始屏幕设置
  • win7系统安装ie11浏览器
  • win8.1 安装ie10
  • win7系统打开excel文件很慢或未响应
  • react组件写法
  • 浏览器修改js变量
  • vue miniui
  • jQuery实现表格与ckeckbox的全选与单选功能
  • unity3d基础操作
  • python连接mysql实例分享
  • android 字体设置
  • 医保预交金可以取出来吗
  • 地税局收税标准
  • 贵州税务开票系统登录
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设