home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
-
- ###########################################################################
- # /usr/bin/service
- #
- # A convenient wrapper for the /etc/init.d init scripts.
- #
- # This script is a modified version of the /sbin/service utility found on
- # Red Hat/Fedora systems (licensed GPLv2+).
- #
- # Copyright (C) 2006 Red Hat, Inc. All rights reserved.
- # Copyright (C) 2008 Canonical Ltd.
- # * August 2008 - Dustin Kirkland <kirkland@canonical.com>
- #
- # This program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation; either version 2 of the License, or
- # (at your option) any later version.
- #
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- #
- # On Debian GNU/Linux systems, the complete text of the GNU General
- # Public License can be found in `/usr/share/common-licenses/GPL'.
- ###########################################################################
-
-
- is_ignored_file() {
- case "$1" in
- skeleton | README | *.dpkg-dist | *.dpkg-old | rc | rcS | single | reboot | bootclean.sh)
- return 0
- ;;
- esac
- return 1
- }
-
- VERSION="`basename $0` ver. 0.91-ubuntu1"
- USAGE="Usage: `basename $0` < option > | --status-all | \
- [ service_name [ command | --full-restart ] ]"
- INVOKERC="invoke-rc.d --force --quiet"
- SERVICE=
- SERVICEDIR="/etc/init.d"
- OPTIONS=
-
- if [ $# -eq 0 ]; then
- echo "${USAGE}" >&2
- exit 1
- fi
-
- cd /
- while [ $# -gt 0 ]; do
- case "${1}" in
- --help | -h | --h* )
- echo "${USAGE}" >&2
- exit 0
- ;;
- --version | -V )
- echo "${VERSION}" >&2
- exit 0
- ;;
- *)
- if [ -z "${SERVICE}" -a $# -eq 1 -a "${1}" = "--status-all" ]; then
- cd ${SERVICEDIR}
- for SERVICE in * ; do
- case "${SERVICE}" in
- functions | halt | killall | single| linuxconf| kudzu)
- ;;
- *)
- if ! is_ignored_file "${SERVICE}" \
- && [ -x "${SERVICEDIR}/${SERVICE}" ]; then
- env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" $INVOKERC "$SERVICE" status
- fi
- ;;
- esac
- done
- exit 0
- elif [ $# -eq 2 -a "${2}" = "--full-restart" ]; then
- SERVICE="${1}"
- if [ -x "${SERVICEDIR}/${SERVICE}" ]; then
- env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" $INVOKERC "$SERVICE" stop
- env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" $INVOKERC "$SERVICE" start
- exit $?
- fi
- elif [ -z "${SERVICE}" ]; then
- SERVICE="${1}"
- else
- OPTIONS="${OPTIONS} ${1}"
- fi
- shift
- ;;
- esac
- done
-
- if [ -x "${SERVICEDIR}/${SERVICE}" ]; then
- env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" $INVOKERC "$SERVICE" ${OPTIONS}
- else
- echo $"${SERVICE}: unrecognized service" >&2
- exit 1
- fi
-