Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1031329
  • 博文数量: 67
  • 博客积分: 2212
  • 博客等级: 大尉
  • 技术积分: 3956
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-09 10:04
个人简介

南非蚂蚁,著名Linux专家,知名IT作家。毕业于西安电子科技大学通信工程专业,爱好计算机,毕业后从事计算机行业。曾就职于新浪网、阿里云(万网),任职系统架构师。曾出版畅销书《循序渐进Linux》、《高性能Linux服务器构建实战》作者。

文章存档

2016年(5)

2015年(4)

2014年(8)

2013年(1)

2012年(38)

2011年(8)

2009年(3)

分类: LINUX

2012-05-25 13:56:53

新编译apache的module,在make install的时候没有停止apache,可能会导致apache重启失败。
典型错误信息:File exists: unable to create scoreboard "/usr/local/apache/logs/httpd.scoreboard" (name-based shared memory failure)

如果将错误定位在httpd.scoreboard文件上,删除或者改名往往并不能解决问题。其实错误的重点在于:shared memory。

真正的原因是:因为替换了正在工作的so文件,造成关闭时无法正常释放内部共享内存,再次启动时检查到错误导致apache无法启动。

解决办法:

ipcs -m -p

检查占用共享内存的进程,返回数据格式:

shmid owner cpid lpid

一般cpid和lpid是一致的,在ps中查找,如果cpid和lpid都不存在,那么说明这块共享内存是没有被释放的。

ipcrm -m

用上面查出的pid的shmid,通过上面的命令释放共享内存

然后再检查一遍是否释放了:ipcs -m -p

再次启动apache就OK了。

阅读(4411) | 评论(0) | 转发(3) |
给主人留下些什么吧!~~