位置: 编程技术 - 正文
推荐整理分享php脚本守护进程原理与实现方法详解(php执行脚本),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:php执行脚本,php脚本守护进程是什么,php 守护进程脚本写法,php执行脚本,php脚本守护进程是什么,php守护进程怎么启动,php脚本守护进程是什么,php 守护进程脚本写法,内容如对您有帮助,希望把文章链接给更多的朋友!
本文实例讲述了php脚本守护进程原理与实现方法。分享给大家供大家参考,具体如下:
思路:
1. while 循环,若当前没有数据要操作可以休眠;2. crontab 脚本每隔固定时间段执行该脚本,执行时先检测是否已在执行,若无 执行,有则 跳过。3. nohup 后台执行4. flock -xn 加锁
实例:
要执行代码:index.php
在写好的php脚本。为防止守护进程内存溢出,建议定期检测内存占用。将以下代码放到业务脚本中:
注意:
nohup 任务查看与关闭方法:
关闭:
查看:
原理:
使用linux flock 文件锁实现任务锁定,解决冲突
格式:
选项
-s, --shared: 获得一个共享锁-x, --exclusive: 获得一个独占锁-u, --unlock: 移除一个锁,通常是不需要的,脚本执行完会自动丢弃锁-n, --nonblock: 如果没有立即获得锁,直接失败而不是等待-w, --timeout: 如果没有立即获得锁,等待指定时间-o, --close: 在运行命令前关闭文件的描述符号。用于如果命令产生子进程时会不受锁的管控-c, --command: 在shell中运行一个单独的命令-h, --help 显示帮助-V, --version: 显示版本
运行一个php文件,文件锁使用独占锁,如果锁定则失败不等待。参数为-xn
* * * * * flock -xn /tmp/mytest.lock -c 'php /home/fdipzone/php/test.php >> /home/fdipzone/php/test.log'
这样当任务未执行完成,下一任务判断到/tmp/mytest.lock被锁定,则结束当前的任务,下一周期再判断。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP进程与线程操作技巧总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
php检测mysql表是否存在的方法小结 本文实例讲述了php检测mysql表是否存在的方法。分享给大家供大家参考,具体如下:pdo:php$dsn='mysql:dbname=test;host=.0.0.1';$user='root';$password='';try{$pdo=newPDO($
PHP实现的mysql主从数据库状态检测功能示例 本文实例讲述了PHP实现的mysql主从数据库状态检测功能。分享给大家供大家参考,具体如下:实例:php/***检测多个主从数据库是否挂掉*建立从数据库$sla
PHP实现的redis主从数据库状态检测功能示例 本文实例讲述了PHP实现的redis主从数据库状态检测功能。分享给大家供大家参考,具体如下:实例:php/***检测多个主从redis数据库是否挂掉*建立从数据
标签: php执行脚本
本文链接地址:https://www.jiuchutong.com/biancheng/289172.html 转载请保留说明!友情链接: 武汉网站建设