3f10348a3f
(instead of "3") if invalid arguments return code "4" if restarting service under nonprivileged user return code "5" if cupsd not exist or is not executable return code "6" if cupsd.conf not exist
143 lines
2.8 KiB
Bash
143 lines
2.8 KiB
Bash
#!/bin/sh
|
|
#
|
|
# "$Id: cups.sh,v 1.10 2000/03/30 05:19:16 mike Exp $"
|
|
#
|
|
# Startup/shutdown script for the Common UNIX Printing System (CUPS).
|
|
#
|
|
# Linux chkconfig stuff:
|
|
#
|
|
# chkconfig: 2345 25 10
|
|
# description: Startup/shutdown script for the Common UNIX \
|
|
# Printing System (CUPS).
|
|
#
|
|
# Copyright 1997-2000 by Easy Software Products, all rights reserved.
|
|
#
|
|
# These coded instructions, statements, and computer programs are the
|
|
# property of Easy Software Products and are protected by Federal
|
|
# copyright law. Distribution and use rights are outlined in the file
|
|
# "LICENSE.txt" which should have been included with this file. If this
|
|
# file is missing or damaged please contact Easy Software Products
|
|
# at:
|
|
#
|
|
# Attn: CUPS Licensing Information
|
|
# Easy Software Products
|
|
# 44141 Airport View Drive, Suite 204
|
|
# Hollywood, Maryland 20636-3111 USA
|
|
#
|
|
# Voice: (301) 373-9603
|
|
# EMail: cups-info@cups.org
|
|
# WWW: http://www.cups.org
|
|
#
|
|
# heavily edited so that it's more like other scripts in init.d on Red Hat
|
|
# Linux
|
|
#
|
|
### BEGIN INIT INFO
|
|
# Provides: cups
|
|
# Required-Start: $syslog $local_fs
|
|
# Required-Stop: $syslog $local_fs
|
|
# Should-Start: portreserve
|
|
# Default-Start: 2 3 4 5
|
|
# Default-Stop: 0 1 6
|
|
# Short-Description: The CUPS scheduler
|
|
# Description: The CUPS scheduler
|
|
### END INIT INFO
|
|
|
|
# Source function library.
|
|
. /etc/init.d/functions
|
|
|
|
DAEMON=cupsd
|
|
|
|
prog=cups
|
|
|
|
check() {
|
|
# Check that we're a privileged user
|
|
[ `id -u` = 0 ] || exit 4
|
|
|
|
# Check if cupsd is executable
|
|
[ -x /usr/sbin/cupsd ] || exit 5
|
|
}
|
|
|
|
start () {
|
|
check
|
|
[ -f /etc/cups/cupsd.conf ] || exit 6
|
|
|
|
echo -n $"Starting $prog: "
|
|
|
|
# tell portreserve to release the port
|
|
[ -x /sbin/portrelease ] && /sbin/portrelease cups &>/dev/null || :
|
|
|
|
# start daemon
|
|
daemon $DAEMON
|
|
RETVAL=$?
|
|
echo
|
|
[ $RETVAL = 0 ] && touch /var/lock/subsys/cups
|
|
|
|
udevadm trigger --subsystem-match=usb \
|
|
--attr-match=bInterfaceClass=07 \
|
|
--attr-match=bInterfaceSubClass=01 &>/dev/null || :
|
|
udevadm trigger --subsystem-match=usb \
|
|
--property-match=DEVNAME="/dev/usb/lp*" &>/dev/null || :
|
|
|
|
return 0
|
|
}
|
|
|
|
stop () {
|
|
check
|
|
|
|
# stop daemon
|
|
echo -n $"Stopping $prog: "
|
|
killproc $DAEMON
|
|
RETVAL=$?
|
|
echo
|
|
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/cups
|
|
return 0
|
|
}
|
|
|
|
restart() {
|
|
stop
|
|
start
|
|
}
|
|
|
|
case $1 in
|
|
start)
|
|
start
|
|
;;
|
|
stop)
|
|
stop
|
|
;;
|
|
restart)
|
|
restart
|
|
;;
|
|
condrestart|try-restart)
|
|
[ -f /var/lock/subsys/cups ] && restart || :
|
|
;;
|
|
reload)
|
|
echo -n $"Reloading $prog: "
|
|
killproc $DAEMON -HUP
|
|
RETVAL=$?
|
|
echo
|
|
;;
|
|
force-reload)
|
|
echo -n $"Reloading $prog: "
|
|
if ! killproc $DAEMON -HUP; then
|
|
restart
|
|
fi
|
|
echo
|
|
;;
|
|
status)
|
|
status cups
|
|
RETVAL=$?
|
|
;;
|
|
restartlog)
|
|
stop
|
|
cat /dev/null >/var/log/cups/error_log
|
|
start
|
|
;;
|
|
*)
|
|
|
|
echo $"Usage: $prog {start|stop|restart|condrestart|reload|status}"
|
|
exit 2
|
|
esac
|
|
|
|
exit $RETVAL
|