参考地址:http://www.ggat.cn/newsInfo.html/121
今天在开发时突然apache无法启动了。表现为,输入 httpd -X 后片刻自动退出, 同时在error_log中有如下内容:
[Fri Aug 15 10:54:31] [emerg] (28)No space left on device: Couldn't create accept lock
df一下发现不是磁盘空间的问题。Google了一下就找到了解决方案,原来是系统的信号量(?)不够用了。 用以下命令可以查看所有的信号量:
$ ipcs -s ______________________________ Semaphore Arrays ______________________________ key semid owner perms nsems 0x00000000 19234816 nobody 600 1 0x00000000 19267585 nobody 600 1 0x00000000 19300354 nobody 600 1 0x00000000 19398659 nobody 600 1 0x00000000 19431428 nobody 600 1 0x00000000 19464197 nobody 600 1 0x00000000 19562502 nobody 600 1
然后用这行命令删除所有的信号量即可:
$ ipcs -s | grep nobody | perl -lane 'print `ipcrm sem $F[1]`'