начать / остановить слишком много времени

Вот отличный сайт, который предоставит вам список настроек по умолчанию на основе вашей страны и используемой версии:

http://repogen.simplylinux.ch/

1
задан 19 April 2017 в 22:39

1 ответ

Также проверьте сценарий запуска, используемый для управления Squid.

Я нашел этот недостаток для пакета Squid 3.1.20-2.2 для Squid. .

 $ vim /etc/init.d/squid3
 ...
 78
 79 stop () {
 80         PID=`cat $PIDFILE 2>/dev/null`
 81         start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON
 82         #
 83         #       Now we have to wait until squid has _really_ stopped.
 84         #
 85         sleep 2
 86         if test -n "$PID" && kill -0 $PID 2>/dev/null
 87         then
 88                 log_action_begin_msg " Waiting"
 89                 cnt=0
 90                 while kill -0 $PID 2>/dev/null
 91                 do
 92                         cnt=`expr $cnt + 1`
 93                         if [ $cnt -gt 24 ]
 94                         then
 95                                 log_action_end_msg 1
 96                                 return 1
 97                         fi
 98                         sleep 5
 99                         log_action_cont_msg ""
100                 done
101                 log_action_end_msg 0
102                 return 0
103         else
104                 return 0
105         fi
106 }
107...

На линии 90 эта функция использует этот непризнанный сигнал (0).

Просто измените сигнал на распознанный сигнал (SIGTERM, NOT SIGKILL).

 90                 while kill -15 $PID 2>/dev/null

Тогда не будет никаких задержек при запуске / остановке Squid:

$ time /etc/init.d/squid3 stop
[ ok ] Stopping Squid HTTP Proxy 3.x: squid3.

real    0m2.036s
user    0m0.004s
sys     0m0.000s

$  time /etc/init.d/squid3 start
[ ok ] Starting Squid HTTP Proxy 3.x: squid3.

real    0m0.036s
user    0m0.004s
sys     0m0.004s
0
ответ дан 25 May 2018 в 23:53

Другие вопросы по тегам:

Похожие вопросы: