Apache啟動報錯No space left on device: AH00023錯誤可能是進程導致了,雖然小編不知道什麼原因但網上提供的解決辦法確實是可以解決我們的問題,下面來看看。
對於這類錯誤是因為linux系統的ipc信號量造成的,apache啟動時,會創建很多子進程。他們是通過信號量來和子進程進行通信的。
信號量介紹:
信號量又稱為信號燈,它是用來協調不同進程間的數據對象的,而最主要的應用是共享內存方式的進程間通信。本質上,信號量是一個計數器,它用來記錄對某個資源(如共享內存)的存取狀況;共享內存是運行在同一台機器上的進程間通信最快的方式,因為數據不需要在不同的進程間復制。通常由一個進程創建一塊共享內存區,其余進程對這塊內存區進行讀寫。在Linux系統下 ,常用的方式是通過shmXXX函數族來實現利用共享內存進行存儲的。
解決辦法:
/etc/init.d/httpd stop 停止apache服務
for i in `ipcs -s | awk '/apache 啟動進程用戶/ {print $2}'`; do (ipcrm -s $i); done
# /etc/init.d/httpd start 啟動apache
後來在網上一解決 辦法也整理一下供各位參考。
AH00016: Configuration Failed
ipcs -s | grep apache | awk ' { print $2 } ' | xargs -n 1 ipcrm-
ipcs -s | grep web | perl -e 'while (<STDIN>) { @a=split(/\s+/); print `ipcrm sem $a[1]`}'
以上內容是有關Apache啟動報錯No space left on device: AH00023的解決辦法,希望大家喜歡。