- 博客(5)
- 资源 (3)
- 收藏
- 关注
原创 php的file_set_contents导致的一个系统主线问题
周六的时候线上服务器有些脚本执行出现问题,后来调查了半天终于在mail里发现了crontab执行时报一个bus error造成问题的原因,初步分析是因为多个php脚本同时写入一个文件,数据大概在2.6M左右,于是就导致了buss errorfile_put_contents第三个参数可以指定是否需要写锁,照这个情况来看,一般情况下还是需要写锁的
2013-01-28 14:37:16 3223
原创 查看linux进程的确切启动时间
ps -ef可以看到进程的启动时间,但是这个时间如果超过24小时就只能看到年份了,使用如下命令可以看到精确的启动时间ps -eO lstart
2013-01-16 14:04:14 6618
原创 php过载后无法恢复的原因分析
最近php机器频繁出现过载后再也无法提供服务的现象,只要一有请求发过去,负责处理该请求的php进程就是cpu占用100%。本来的负载均衡策略是一旦某机器的php请求出现连接超时就将该机器的权重降低,发向该机器的请求概率就会降低,虽然有一定滞后效应,但是最终应该能够降压并且最后恢复服务,但是这个策略在最近突然失效了。出现这个情况之后无法发送什么请求到php-fpm都会cpu100%,即使请求的是一个
2013-01-11 12:01:36 1986
原创 linux下如何隐藏命令行参数
有时候会遇到这样的需求,不希望命令行的某些参数被ps出来,比如命令行参数里可能存在一些用户名和密码之类的东西,在linux下如果你想隐藏这些东西的话,可以直接将argv中的这些参数变成其他东西,比如xxxxx,下面是一个hideArg函数示例void hideArg(int argc, char** argv, const char* arg){ for (int i = 1; i <
2013-01-09 10:36:51 4078
原创 php中重载数组操作符
在php中提供了许多接口用于实现一些很特定的功能,比如你想把一个对象当作array使用时,只需要实现ArrayAccess接口,当你想要foreach中能够使用一个对象时,只需要实现Iterator接口,下面给一个例子出来class BtstoreRoot{ /** * 根结点 * @var BtstoreElement */ static $root;}cl
2013-01-06 11:45:13 2486
Computer Science Handbook第二版.下
2010-02-03
Computer Science Handbook第二版.上
2010-02-03
Handbook of Data Structures and Applications
2009-06-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人