diff options
Diffstat (limited to 'packages')
-rw-r--r-- | packages/squid/proxy_monitor.sh | 4 | ||||
-rw-r--r-- | packages/squid/squid.inc | 9 |
2 files changed, 9 insertions, 4 deletions
diff --git a/packages/squid/proxy_monitor.sh b/packages/squid/proxy_monitor.sh index 545a58da..05584534 100644 --- a/packages/squid/proxy_monitor.sh +++ b/packages/squid/proxy_monitor.sh @@ -41,7 +41,7 @@ sleep 5 # Squid monitor 1.1 while [ /bin/true ]; do if [ ! -f /var/run/squid_alarm ]; then - NUM_PROCS=`ps awux | grep "squid -D" | grep -v "grep" | wc -l | awk '{ print $1 }'` + NUM_PROCS=`ps auxw | grep "[(]squid) -D"|awk '{print $2}'| wc -l | awk '{ print $1 }'` if [ $NUM_PROCS -lt 1 ]; then # squid is down echo "Squid has exited. Reconfiguring filter." | \ @@ -54,7 +54,7 @@ while [ /bin/true ]; do touch /var/run/squid_alarm fi fi - NUM_PROCS=`ps awux | grep "squid -D" | grep -v "grep" | wc -l | awk '{ print $1 }'` + NUM_PROCS=`ps auxw | grep "[(]squid) -D"|awk '{print $2}'| wc -l | awk '{ print $1 }'` if [ $NUM_PROCS -gt 0 ]; then if [ -f /var/run/squid_alarm ]; then echo "Squid has resumed. Reconfiguring filter." | \ diff --git a/packages/squid/squid.inc b/packages/squid/squid.inc index d5f2c37d..25078785 100644 --- a/packages/squid/squid.inc +++ b/packages/squid/squid.inc @@ -173,7 +173,12 @@ function squid_install_command() { exec("/bin/rm /usr/local/etc/rc.d/squid"); $rc = array(); $rc['file'] = 'squid.sh'; - $rc['start'] = '/usr/local/sbin/squid -D'; + $rc['start'] = <<<EOD +if [ -z "`ps auxw | grep \"[(]squid) -D\"|awk '{print $2}'`" ];then + /usr/local/sbin/squid -D +fi + +EOD; $rc['stop'] = <<<EOD /usr/local/sbin/squid -k shutdown # Just to be sure... @@ -183,7 +188,7 @@ killall pinger 2>/dev/null EOD; $rc['restart'] = <<<EOD -if [ -z "`pgrep squid`" ]; then +if [ -z "`ps auxw | grep \"[(]squid) -D\"|awk '{print $2}'`" ];then /usr/local/sbin/squid -D else /usr/local/sbin/squid -k reconfigure |