免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2006 | 回复: 3
打印 上一主题 下一主题

请教各位php5.3的一个cli进程问题,谢谢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-11-25 12:18 |只看该作者 |倒序浏览
请教各位php5.3的一个cli进程问题,谢谢

情况是这样的,我们服务器上面有一些用php写的crontab  定时运行的脚本,
脚本就是做一些数据库的逻辑处理运算,然后同时只能执行一个cli进程, 所以用了lock加锁,开始处判断加锁,类似下面
if(file_exists(xxx)){
    die("is exists");
}
file_put_contents("xxx","1");
然后程序结尾用register_shutdown执行删除lock文件

在php5.2情况下面运行得很好,但是最近一个星期 把环境升级到php5.3以后 发生了一件怪事,
就是比如 /tmp/1.php这个cli脚本  他是一分钟执行一次 ,里面就是些数据库操作语句,然后开始运行很正常,  就是正常的加锁(file_put_contents) 和解锁(unlink) 然后进程退出.

但是一般运行了24小时以后  ,就会慢慢出现那种  lok文件删除了的(我想这里应该是代表程序执行完了),但是程序的进程还存在,
就是用Ps aux|grep "1.php" 终端下面偶尔会出现几个进程,一直不消失(这几个进程几天后仍然没有消失) ,请问各位这种怎么排查  进程不退出的原因呢?谢谢

php5.2是一切正常,所以应该业务逻辑没得问题,
假如说遇到进程退出了,lock文件没有删除,那还好理解,肯定是进程突然崩溃了,没执行解锁,但是是lock文件删了,进程没退出,也不知道用什么工具可以查看此进程正在干什么,麻烦知道的朋友帮忙看看呢,谢谢。

论坛徽章:
0
2 [报告]
发表于 2012-11-26 10:20 |只看该作者
这个还真没碰到过。求高手解答。

论坛徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46处女座
日期:2013-10-24 14:25:01酉鸡
日期:2014-04-07 11:54:15
3 [报告]
发表于 2012-11-26 22:54 |只看该作者
你这不叫锁, 你了解一下flock文件锁吧.

论坛徽章:
0
4 [报告]
发表于 2012-11-27 10:53 |只看该作者
linux_c_py_php 发表于 2012-11-26 22:54
你这不叫锁, 你了解一下flock文件锁吧.


恩  我懂你的意思,你是说给文件加锁对吧,但是这个问题貌似不是锁的问题,也许是我说法问题
不说锁,说一个标志位 应该可以
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP