Коллеги,
На системе 10.04LTS через репозитарий установлен Squid3
Проблема в том, что командой
service squid3 start запустить его можно
А вот команда
service squid3 stop
не работает
# ps axwwf | grep squid
2836 pts/4 S+ 0:00 \_ grep --color=auto squid
31431 ? Ss 0:00 /usr/sbin/squid3 -D -YC -f /etc/squid3/squid.conf
31434 ? S 0:10 \_ (squid) -D -YC -f /etc/squid3/squid.conf
31435 ? S 0:00 \_ (squid_ldap_auth) -h 127.0.0.1 -b ou=pj0046,o=xxx,c=su -f uid=%s -v 3
31436 ? S 0:00 \_ (squid_ldap_auth) -h 127.0.0.1 -b ou=pj0046,o=xxx,c=su -f uid=%s -v 3
31437 ? S 0:00 \_ (squid_ldap_auth) -h 127.0.0.1 -b ou=pj0046,o=xxx,c=su -f uid=%s -v 3
31438 ? S 0:00 \_ (squid_ldap_auth) -h 127.0.0.1 -b ou=pj0046,o=xxx,c=su -f uid=%s -v 3
31439 ? S 0:00 \_ (squid_ldap_auth) -h 127.0.0.1 -b ou=pj0046,o=xxx,c=su -f uid=%s -v 3
31440 ? S 0:00 \_ (squid_ldap_group) -h localhost -b ou=pj0046,o=xxx,c=su -f (&(cn=%a)(memberUid=%v))
31441 ? S 0:00 \_ (squid_ldap_group) -h localhost -b ou=pj0046,o=xxx,c=su -f (&(cn=%a)(memberUid=%v))
31442 ? S 0:00 \_ (squid_ldap_group) -h localhost -b ou=pj0046,o=xxx,c=su -f (&(cn=%a)(memberUid=%v))
31443 ? S 0:00 \_ (squid_ldap_group) -h localhost -b ou=pj0046,o=xxx,c=su -f (&(cn=%a)(memberUid=%v))
31444 ? S 0:00 \_ (squid_ldap_group) -h localhost -b ou=pj0046,o=xxx,c=su -f (&(cn=%a)(memberUid=%v))После команды стоп даже пиды процессов не меняются.
Сквид работает от пользователя proxy
# ls -alp /var/run/squid.pid
-rw-r--r-- 1 proxy proxy 6 2013-12-12 17:59 /var/run/squid.pid
Из Файла /etc/init.d/squid3
NAME=squid3
DESC="Squid HTTP Proxy 3.0"
DAEMON=/usr/sbin/squid3
PIDFILE=/var/run/$NAME.pid
CONFIG=/etc/squid3/squid.conf
SQUID_ARGS="-D -YC -f $CONFIG"stop () {
PID=`cat $PIDFILE 2>/dev/null`
start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON
#
# Now we have to wait until squid has _really_ stopped.
#
sleep 2
if test -n "$PID" && kill -0 $PID 2>/dev/null
then
log_action_begin_msg " Waiting"
cnt=0
while kill -0 $PID 2>/dev/null
do
cnt=`expr $cnt + 1`
if [ $cnt -gt 24 ]
then
log_action_end_msg 1
return 1
fi
sleep 5
log_action_cont_msg ""
done
log_action_end_msg 0
return 0
else
return 0
fi
}Короче смысл в том, что не работает:
start-stop-daemon --stop --pidfile 31431 --exec /usr/sbin/squid3
No /usr/sbin/squid3 found running; none killed.
Но процесс то такой есть как видно выше?
> Короче смысл в том, что не работает:
> start-stop-daemon --stop --pidfile 31431 --exec /usr/sbin/squid3Офигенно Вы PIF ФАЙЛ(!) указали. Просто офигенно! А посмотреть значение переменной PIDFILE - не?
> Офигенно Вы PIF ФАЙЛ(!) указали.PID, очепятка
> Короче смысл в том, что не работает:
> start-stop-daemon --stop --pidfile 31431 --exec /usr/sbin/squid3
> No /usr/sbin/squid3 found running; none killed.
> Но процесс то такой есть как видно выше?Вы действительно ошиблись с указанием pid-файла squid
вот вы показываете
> -rw-r--r-- 1 proxy proxy 6 2013-12-12 17:59 /var/run/squid.pidа в скрипте у вас
> NAME=squid3
> PIDFILE=/var/run/$NAME.pidто есть получаем
PIDFILE=/var/run/squid3.pidа его на самом деле нет.
исправьте NAME=squid
>[оверквотинг удален]
> Вы действительно ошиблись с указанием pid-файла squid
> вот вы показываете
>> -rw-r--r-- 1 proxy proxy 6 2013-12-12 17:59 /var/run/squid.pid
> а в скрипте у вас
>> NAME=squid3
>> PIDFILE=/var/run/$NAME.pid
> то есть получаем
> PIDFILE=/var/run/squid3.pid
> а его на самом деле нет.
> исправьте NAME=squidСпасибо исправил и заработало!
Меня смутило то, что файл /var/run/squid3.pid существовал и содержал актуальный пид процесса.