]> git.pld-linux.org Git - packages/squid.git/blob - squid.init
037be83293db2a90b522a08e85a20f93850401fe
[packages/squid.git] / squid.init
1 #!/bin/sh
2 #
3 # squid         This shell script takes care of starting and stopping
4 #               Squid Internet Object Cache
5 #
6 # chkconfig:    345 90 25
7 #
8 # description:  Squid - Internet Object Cache. Internet object caching is \
9 #               a way to store requested Internet objects (i.e., data \
10 #               available via the HTTP, FTP, and gopher protocols) on a \
11 #               system closer to the requesting site than to the source. \
12 #               Web browsers can then use the local Squid cache as a proxy \
13 #               HTTP server, reducing access time as well as bandwidth \
14 #               consumption.
15 # description(es): Squid - Cache de Objetos de Internet.  Cache de objetos \
16 #               es una manera de almacenar objetos Internet (i.e. Datos \
17 #               disponibles vía protocolos HTTP, FTP y gopher) en un \
18 #               sistema más próximo al site solicitador que el sistema \
19 #               original en internet.  Navegadores www pueden usar el \
20 #               cache squid local como un servidor proxy HTTP, reduciendo \
21 #               tanto el tiempo de acceso así como el consumo de banda de \
22 #               comunicación.
23 # description(pt_BR): Squid - Cache de Objetos da Internet. Cache de objetos \
24 #               é uma maneira de armazenar objetos Internet (i.e. dados \
25 #               disponíveis via protocolos HTTP, FTP e gopher) em um \
26 #               sistema mais próximo ao site requisitante do que o sistema \
27 #               original na internet. Navegadores www podem usar o cache \
28 #               squid local como um servidor proxy HTTP, reduzindo o tempo \
29 #               de acesso bem como o consumo de banda de comunicação.
30 #
31 # pidfile:      /var/run/squid.pid
32 # config:       /etc/squid/squid.conf
33
34
35 # Source function library
36 . /etc/rc.d/init.d/functions
37
38 # Get network config
39 . /etc/sysconfig/network
40
41 # Get service config
42 [ -f /etc/sysconfig/squid ] && . /etc/sysconfig/squid
43
44 # Set default shutdown timeout if it is not set in service config
45 SQUID_SHUTDOWN_TIMEOUT=${SQUID_SHUTDOWN_TIMEOUT:-60}
46
47 # Check that networking is up.
48 if is_yes "${NETWORKING}"; then
49         if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status -a "$1" != init ]; then
50                 msg_network_down Squid
51                 exit 1
52         fi
53 else
54         exit 0
55 fi
56
57 start() {
58         # Check if the service is already running?
59         if [ ! -f /var/lock/subsys/squid ]; then
60                 msg_starting Squid
61                 # get FD limit from /etc/sysconfig/squid and set FD limit for squid
62                 ulimit -SHn $SQUID_FD_LIMIT
63                 daemon $SERVICE_RUN_NICE_LEVEL squid $SQUID_OPTS
64                 RETVAL=$?
65                 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/squid
66         else
67                 msg_already_running Squid
68         fi
69 }
70
71 stop() {
72         if [ -f /var/lock/subsys/squid ]; then
73                 # Stop daemons.
74                 msg_stopping Squid
75                 if [ -f /var/run/squid.pid ]; then
76                         PID=$(filter_chroot `cat /var/run/squid.pid`)
77                         if [ -z "$PID" ]; then
78                                 PID=0
79                         fi
80                 else
81                         PID=0
82                 fi
83                 killproc squid
84                 RETVAL=$?
85                 if [ ! $PID -eq 0 ]; then
86                         show "Waiting for Squid to stop"
87                         busy
88                         timeout=0
89                         while ps -U squid -o user | grep -q ^squid
90                         do
91                                 if [ $timeout -ge $SQUID_SHUTDOWN_TIMEOUT ]; then
92                                     break
93                                 fi
94                                 sleep 1
95                                 timeout=$((timeout+1))
96                         done
97                         ok
98                 fi
99                 rm -f /var/lock/subsys/squid >/dev/null 2>&1
100         else
101                 msg_not_running Squid
102         fi
103 }
104
105 RETVAL=0
106 # See how we were called.
107 case "$1" in
108   start)
109         start
110         ;;
111   stop)
112         stop
113         ;;
114   restart)
115         stop
116         start
117         ;;
118   reload|force-reload)
119         if [ -f /var/lock/subsys/squid ]; then
120                 msg_reloading Squid
121                 busy
122                 squid -k reconfigure
123                 RETVAL=$?
124                 [ $RETVAL -ne 0 ] && RETVAL=7
125                 [ $RETVAL -eq 0 ] && ok || fail
126         else
127                 msg_not_running Squid >&2
128                 exit 7
129         fi
130         ;;
131   status)
132         status squid
133         exit $?
134         ;;
135   init)
136         nls "Initializing %s" squid
137         squid -z
138         ;;
139   *)
140         msg_usage "$0 {start|stop|init|restart|reload|force-reload|status}"
141         exit 3
142 esac
143
144 exit $RETVAL
This page took 0.059195 seconds and 3 git commands to generate.