Apache重啓失敗name-based shared memory failure

新編譯apache的module,在make install的時候沒有中止apache,可能會致使apache重啓失敗。apache

典型錯誤信息:File exists: unable to create scoreboard "/usr/local/apache/logs/httpd.scoreboard" (name-based shared memory failure)進程

若是將錯誤定位在httpd.scoreboard文件上,刪除或者更名每每並不能解決問題。其實錯誤的重點在於:shared memory。ip

真正的緣由是:由於替換了正在工做的so文件,形成關閉時沒法正常釋放內部共享內存,再次啓動時檢查到錯誤致使apache沒法啓動。內存

解決辦法:編譯

ipcs -m -pmodule

檢查佔用共享內存的進程,返回數據格式:sed

shmid owner cpid lpid數據

通常cpid和lpid是一致的,在ps中查找,若是cpid和lpid都不存在,那麼說明這塊共享內存是沒有被釋放的。文件

ipcrm -mmake

用上面查出的pid的shmid,經過上面的命令釋放共享內存

而後再檢查一遍是否釋放了:ipcs -m -p

再次啓動apache就OK了。

相關文章
相關標籤/搜索