Apache2 在 apache2ctl status 看到 G 的狀態,這些 process 都已經無法回應了,可以寫隻 script 來砍掉。
註:砍掉只是治標,建議還是看看這些 pid,研究看看卡在哪裡,治本才是重點。
Apache2 砍掉 Gracefully 狀態的程式
apache2ctl fullstatus 可以看到狀態 G 的 process id 分別為何,再來可以參考下述程式 (程式取自此篇:kill gracefully stuck startup of apache childs.)
#!/bin/bash echo "kill gracefully stuck startup of apache childs.. " apache2ctl fullstatus | awk '{print $2,$4}' | grep G | awk '{print $1}' | sort -u | grep "^[0-9]*$" | sort -n | while read -r pida do pidc=$(ps -p $pida -Ocommand | grep apache2 | wc -l) if [ $pidc -gt 0 ] ; then kill -9 $pida echo "killing $pida " fi done echo " " echo " done." echo " "