PHP实例:php脚本守护进程原理与实现方法详解
|
《PHP实例:php脚本守护进程原理与实现方法详解》要点: 本文实例讲述了php脚本守护进程原理与实现方法.分享给大家供大家参考,具体如下:PHP教程 思路:PHP教程 1. while 循环,若当前没有数据要操作可以休眠; 实例:PHP教程 要执行代码:index.phpPHP教程
<?php
set_time_limit(0);
//死循环
while(1) {
$message = '1111111' . "n";
error_log($message);
sleep(5);
}
#/tmp/lock/test1.lock 为当前进程要锁定的文件,不同的进程配置不同的锁文件,该文件会自动创建 * * * * * flock -xn /tmp/lock/test1.lock -c 'nohup php index.php >> /php/test.log 2>&1 &' * * * * * flock -xn /tmp/mytest.lock -c 'php /home/fdipzone/php/test.php >> /home/fdipzone/php/test.log' 在写好的php脚本.为防止守护进程内存溢出,建议定期检测内存占用.
if(memory_get_usage()>100*1024*1024){
exit('内存溢出');//大于100M内存退出程序,防止内存泄漏被系统杀死导致任务终端
}
注意:PHP教程 nohup 任务查看与关闭方法:PHP教程 关闭:PHP教程 //方法一: ps -e | grep commend kill -9 pid //方法二: fg %n //n为jobs命令查看的进程号 查看:PHP教程 //查看后台进程 jobs 原理:PHP教程 使用linux flock 文件锁实现任务锁定,解决冲突PHP教程 格式:PHP教程 flock [-sxun][-w #] fd# flock [-sxon][-w #] file [-c] command 选项PHP教程 -s,--shared: 获得一个共享锁 运行一个php文件,文件锁使用独占锁,如果锁定则失败不等待.参数为-xnPHP教程 * * * * * flock -xn /tmp/mytest.lock -c 'php /home/fdipzone/php/test.php >> /home/fdipzone/php/test.log'PHP教程 这样当任务未执行完成,下一任务判断到/tmp/mytest.lock被锁定,则结束当前的任务,下一周期再判断.PHP教程 更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP进程与线程操作技巧总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》PHP教程 希望本文所述对大家PHP程序设计有所帮助.PHP教程 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
