aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--packages/squid/proxy_monitor.sh4
-rw-r--r--packages/squid/squid.inc9
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