You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

195 lines
3.2 KiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

#!/bin/sh
#
# Startup/shutdown script for CUPS.
#
# Copyright © 2007-2013 by Apple Inc.
# Copyright © 1997-2007 by Easy Software Products, all rights reserved.
#
# Licensed under Apache License v2.0. See the file "LICENSE" for more
# information.
#
#### OS-Dependent Information
#
# Linux chkconfig stuff:
#
# chkconfig: 235 99 00
# description: Startup/shutdown script for CUPS.
#
#
# NetBSD 1.5+ rcorder script lines. The format of the following two
# lines is very strict -- please don't add additional spaces!
#
# PROVIDE: cups
# REQUIRE: DAEMON
#
#### OS-Dependent Configuration
case "`uname`" in
*BSD*)
IS_ON=:
ECHO=echo
ECHO_OK=:
ECHO_ERROR=:
;;
Darwin*)
. /etc/rc.common
if test "${CUPS:=-YES-}" = "-NO-"; then
exit 0
fi
IS_ON=:
ECHO=ConsoleMessage
ECHO_OK=:
ECHO_ERROR=:
;;
Linux*)
IS_ON=/bin/true
if test -f /etc/init.d/functions; then
. /etc/init.d/functions
ECHO=echo
ECHO_OK="echo_success"
ECHO_ERROR="echo_failure"
else
ECHO=echo
ECHO_OK=:
ECHO_ERROR=:
fi
;;
*)
IS_ON=/bin/true
ECHO=echo
ECHO_OK=:
ECHO_ERROR=:
;;
esac
#### OS-Independent Stuff
#
# Set the timezone, if possible... This allows the scheduler and
# all child processes to know the local timezone when reporting
# dates and times to the user. If no timezone information is
# found, then Greenwich Mean Time (GMT) will probably be used.
#
for file in /etc/TIMEZONE /etc/rc.config /etc/sysconfig/clock; do
if test -f $file; then
. $file
fi
done
if test "x$ZONE" != x; then
TZ="$ZONE"
fi
if test "x$TIMEZONE" != x; then
TZ="$TIMEZONE"
fi
if test "x$TZ" != x; then
export TZ
fi
#
# Don't use TMPDIR environment variable from init script, as that can
# cause cupsd to set TempDir to a user's temporary directory instead
# of the default...
#
unset TMPDIR
#
# Make sure we have the standard program directories in the path
# since some operating systems don't provide a standard path on boot-up...
#
if test "x$PATH" = x; then
PATH="/bin:/usr/bin:/sbin:/usr/sbin"
else
PATH="/bin:/usr/bin:/sbin:/usr/sbin:$PATH"
fi
export PATH
#
# See if the CUPS server (cupsd) is running...
#
case "`uname`" in
SunOS*)
pid=`ps -e | nawk '{if (match($4, ".*/cupsd$") || $4 == "cupsd") print $1}'`
;;
Linux* | *BSD* | Darwin*)
pid=`ps ax | awk '{if (match($5, ".*/cupsd$") || $5 == "cupsd") print $1}'`
;;
*)
pid=""
;;
esac
#
# Start or stop the CUPS server based upon the first argument to the script.
#
case $1 in
start | restart | reload)
if $IS_ON cups; then
if test -x /sbin/portrelease; then
/sbin/portrelease cups
fi
if test "$pid" != ""; then
kill -HUP $pid
else
prefix=@prefix@
exec_prefix=@exec_prefix@
@sbindir@/cupsd
if test $? != 0; then
$ECHO_FAIL
$ECHO "cups: unable to $1 scheduler."
exit 1
fi
fi
$ECHO_OK
$ECHO "cups: ${1}ed scheduler."
fi
;;
stop)
if test "$pid" != ""; then
kill $pid
$ECHO_OK
$ECHO "cups: stopped scheduler."
fi
;;
status)
if test "$pid" != ""; then
echo "cups: scheduler is running."
else
echo "cups: scheduler is not running."
fi
;;
*)
echo "Usage: cups {reload|restart|start|status|stop}"
exit 1
;;
esac
#
# Exit with no errors.
#
exit 0