Apache2 砍掉 Gracefully 狀態的程式

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 " "

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料