]>
Commit | Line | Data |
---|---|---|
1 | #!/bin/sh | |
2 | # | |
3 | # "$Id: cups.sh.in 6358 2007-03-19 14:16:44Z mike $" | |
4 | # | |
5 | # Startup/shutdown script for the Common UNIX Printing System (CUPS). | |
6 | # | |
7 | # Copyright 1997-2007 by Easy Software Products, all rights reserved. | |
8 | # | |
9 | # These coded instructions, statements, and computer programs are the | |
10 | # property of Easy Software Products and are protected by Federal | |
11 | # copyright law. Distribution and use rights are outlined in the file | |
12 | # "LICENSE.txt" which should have been included with this file. If this | |
13 | # file is missing or damaged please contact Easy Software Products | |
14 | # at: | |
15 | # | |
16 | # Attn: CUPS Licensing Information | |
17 | # Easy Software Products | |
18 | # 44141 Airport View Drive, Suite 204 | |
19 | # Hollywood, Maryland 20636 USA | |
20 | # | |
21 | # Voice: (301) 373-9600 | |
22 | # EMail: cups-info@cups.org | |
23 | # WWW: http://www.cups.org | |
24 | # | |
25 | ||
26 | #### OS-Dependent Information | |
27 | ||
28 | # | |
29 | # Linux chkconfig stuff: | |
30 | # | |
31 | # chkconfig: 235 99 00 | |
32 | # description: Startup/shutdown script for the Common UNIX \ | |
33 | # Printing System (CUPS). | |
34 | # | |
35 | ||
36 | # | |
37 | # NetBSD 1.5+ rcorder script lines. The format of the following two | |
38 | # lines is very strict -- please don't add additional spaces! | |
39 | # | |
40 | # PROVIDE: cups | |
41 | # REQUIRE: DAEMON | |
42 | # | |
43 | ||
44 | ||
45 | #### OS-Dependent Configuration | |
46 | ||
47 | case "`uname`" in | |
48 | IRIX*) | |
49 | IS_ON=/sbin/chkconfig | |
50 | ||
51 | if $IS_ON verbose; then | |
52 | ECHO=echo | |
53 | else | |
54 | ECHO=: | |
55 | fi | |
56 | ECHO_OK=: | |
57 | ECHO_ERROR=: | |
58 | ;; | |
59 | ||
60 | *BSD*) | |
61 | IS_ON=: | |
62 | ECHO=echo | |
63 | ECHO_OK=: | |
64 | ECHO_ERROR=: | |
65 | ;; | |
66 | ||
67 | Darwin*) | |
68 | . /etc/rc.common | |
69 | ||
70 | if test "${CUPS:=-YES-}" = "-NO-"; then | |
71 | exit 0 | |
72 | fi | |
73 | ||
74 | IS_ON=: | |
75 | ECHO=ConsoleMessage | |
76 | ECHO_OK=: | |
77 | ECHO_ERROR=: | |
78 | ;; | |
79 | ||
80 | Linux*) | |
81 | IS_ON=/bin/true | |
82 | if test -f /etc/init.d/functions; then | |
83 | . /etc/init.d/functions | |
84 | ECHO=echo | |
85 | ECHO_OK="echo_success" | |
86 | ECHO_ERROR="echo_failure" | |
87 | else | |
88 | ECHO=echo | |
89 | ECHO_OK=: | |
90 | ECHO_ERROR=: | |
91 | fi | |
92 | ;; | |
93 | ||
94 | *) | |
95 | IS_ON=/bin/true | |
96 | ECHO=echo | |
97 | ECHO_OK=: | |
98 | ECHO_ERROR=: | |
99 | ;; | |
100 | esac | |
101 | ||
102 | #### OS-Independent Stuff | |
103 | ||
104 | # | |
105 | # Set the timezone, if possible... This allows the scheduler and | |
106 | # all child processes to know the local timezone when reporting | |
107 | # dates and times to the user. If no timezone information is | |
108 | # found, then Greenwich Mean Time (GMT) will probably be used. | |
109 | # | |
110 | ||
111 | for file in /etc/TIMEZONE /etc/rc.config /etc/sysconfig/clock; do | |
112 | if test -f $file; then | |
113 | . $file | |
114 | fi | |
115 | done | |
116 | ||
117 | if test "x$ZONE" != x; then | |
118 | TZ="$ZONE" | |
119 | fi | |
120 | ||
121 | if test "x$TIMEZONE" != x; then | |
122 | TZ="$TIMEZONE" | |
123 | fi | |
124 | ||
125 | if test "x$TZ" != x; then | |
126 | export TZ | |
127 | fi | |
128 | ||
129 | # | |
130 | # Don't use TMPDIR environment variable from init script, as that can | |
131 | # cause cupsd to set TempDir to a user's temporary directory instead | |
132 | # of the default... | |
133 | # | |
134 | ||
135 | unset TMPDIR | |
136 | ||
137 | ||
138 | # | |
139 | # Make sure we have the standard program directories in the path | |
140 | # since some operating systems (this means YOU HP-UX!) don't | |
141 | # provide a standard path on boot-up... | |
142 | # | |
143 | ||
144 | if test "x$PATH" = x; then | |
145 | PATH="/bin:/usr/bin:/sbin:/usr/sbin" | |
146 | else | |
147 | PATH="/bin:/usr/bin:/sbin:/usr/sbin:$PATH" | |
148 | fi | |
149 | ||
150 | export PATH | |
151 | ||
152 | # | |
153 | # See if the CUPS server (cupsd) is running... | |
154 | # | |
155 | ||
156 | case "`uname`" in | |
157 | HP-UX* | AIX* | SINIX*) | |
158 | pid=`ps -e | awk '{if (match($4, ".*/cupsd$") || $4 == "cupsd") print $1}'` | |
159 | ;; | |
160 | IRIX* | SunOS*) | |
161 | pid=`ps -e | nawk '{if (match($4, ".*/cupsd$") || $4 == "cupsd") print $1}'` | |
162 | ;; | |
163 | UnixWare*) | |
164 | pid=`ps -e | awk '{if (match($6, ".*/cupsd$") || $6 == "cupsd") print $1}'` | |
165 | . /etc/TIMEZONE | |
166 | ;; | |
167 | OSF1*) | |
168 | pid=`ps -e | awk '{if (match($5, ".*/cupsd$") || $5 == "cupsd") print $1}'` | |
169 | ;; | |
170 | Linux* | *BSD* | Darwin*) | |
171 | pid=`ps ax | awk '{if (match($5, ".*/cupsd$") || $5 == "cupsd") print $1}'` | |
172 | ;; | |
173 | *) | |
174 | pid="" | |
175 | ;; | |
176 | esac | |
177 | ||
178 | # | |
179 | # Start or stop the CUPS server based upon the first argument to the script. | |
180 | # | |
181 | ||
182 | case $1 in | |
183 | start | restart | reload) | |
184 | if $IS_ON cups; then | |
185 | if test "$pid" != ""; then | |
186 | kill -HUP $pid | |
187 | else | |
188 | prefix=@prefix@ | |
189 | exec_prefix=@exec_prefix@ | |
190 | @sbindir@/cupsd | |
191 | if test $? != 0; then | |
192 | $ECHO_FAIL | |
193 | $ECHO "cups: unable to $1 scheduler." | |
194 | exit 1 | |
195 | fi | |
196 | fi | |
197 | $ECHO_OK | |
198 | $ECHO "cups: ${1}ed scheduler." | |
199 | fi | |
200 | ;; | |
201 | ||
202 | stop) | |
203 | if test "$pid" != ""; then | |
204 | kill $pid | |
205 | $ECHO_OK | |
206 | $ECHO "cups: stopped scheduler." | |
207 | fi | |
208 | ;; | |
209 | ||
210 | status) | |
211 | if test "$pid" != ""; then | |
212 | echo "cups: scheduler is running." | |
213 | else | |
214 | echo "cups: scheduler is not running." | |
215 | fi | |
216 | ;; | |
217 | ||
218 | start_msg) | |
219 | # HP-UX non-standard... | |
220 | echo "Starting CUPS Server" | |
221 | ;; | |
222 | ||
223 | stop_msg) | |
224 | # HP-UX non-standard... | |
225 | echo "Starting CUPS Server" | |
226 | ;; | |
227 | ||
228 | *) | |
229 | echo "Usage: cups {reload|restart|start|status|stop}" | |
230 | exit 1 | |
231 | ;; | |
232 | esac | |
233 | ||
234 | # | |
235 | # Exit with no errors. | |
236 | # | |
237 | ||
238 | exit 0 | |
239 | ||
240 | ||
241 | # | |
242 | # End of "$Id: cups.sh.in 6358 2007-03-19 14:16:44Z mike $". | |
243 | # |