aboutsummaryrefslogtreecommitdiffstats
path: root/usr
diff options
context:
space:
mode:
Diffstat (limited to 'usr')
-rwxr-xr-xusr/sbin/service118
1 files changed, 59 insertions, 59 deletions
diff --git a/usr/sbin/service b/usr/sbin/service
index 31d8f3e1..ed9783db 100755
--- a/usr/sbin/service
+++ b/usr/sbin/service
@@ -18,74 +18,74 @@ fi
cd /
while [ $# -gt 0 ]; do
- case "${1}" in
+ case "${1}" in
--help | -h | --h* )
- echo "${USAGE}" >&2
- exit 0
- ;;
+ echo "${USAGE}" >&2
+ exit 0
+ ;;
--version | -V )
- echo "${VERSION}" >&2
- exit 0
- ;;
+ echo "${VERSION}" >&2
+ exit 0
+ ;;
--ignore-dependencies)
- export SYSTEMCTL_IGNORE_DEPENDENCIES=1
- shift
- ;;
+ export SYSTEMCTL_IGNORE_DEPENDENCIES=1
+ shift
+ ;;
--skip-redirect)
- export SYSTEMCTL_SKIP_REDIRECT=1
- shift
- ;;
+ export SYSTEMCTL_SKIP_REDIRECT=1
+ shift
+ ;;
*)
- 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 PATH="$PATH" TERM="$TERM" "${SERVICEDIR}/${SERVICE}" status
- fi
- ;;
- esac
- done
- exit 0
- elif [ $# -eq 2 -a "${2}" = "--full-restart" ]; then
- SERVICE="${1}"
- if [ -x "${SERVICEDIR}/${SERVICE}" ]; then
- env -i PATH="$PATH" TERM="$TERM" "${SERVICEDIR}/${SERVICE}" stop
- env -i PATH="$PATH" TERM="$TERM" "${SERVICEDIR}/${SERVICE}" start
- exit $?
- fi
- elif [ -z "${SERVICE}" ]; then
- SERVICE="${1}"
- elif [ -z "${ACTION}" ]; then
- ACTION="${1}"
- else
- OPTIONS="${OPTIONS} ${1}"
- fi
- shift
- ;;
- esac
+ 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 PATH="$PATH" TERM="$TERM" "${SERVICEDIR}/${SERVICE}" status
+ fi
+ ;;
+ esac
+ done
+ exit 0
+ elif [ $# -eq 2 -a "${2}" = "--full-restart" ]; then
+ SERVICE="${1}"
+ if [ -x "${SERVICEDIR}/${SERVICE}" ]; then
+ env -i PATH="$PATH" TERM="$TERM" "${SERVICEDIR}/${SERVICE}" stop
+ env -i PATH="$PATH" TERM="$TERM" "${SERVICEDIR}/${SERVICE}" start
+ exit $?
+ fi
+ elif [ -z "${SERVICE}" ]; then
+ SERVICE="${1}"
+ elif [ -z "${ACTION}" ]; then
+ ACTION="${1}"
+ else
+ OPTIONS="${OPTIONS} ${1}"
+ fi
+ shift
+ ;;
+ esac
done
if [ -f "${SERVICEDIR}/${SERVICE}" ]; then
- # LSB daemons that dies abnormally in systemd looks alive in systemd's eyes due to RemainAfterExit=yes
- # lets reap them before next start
- if [ "${ACTION}" = "start" ] && \
- systemctl show -p ActiveState ${SERVICE}.service | grep -q '=active$' && \
- systemctl show -p SubState ${SERVICE}.service | grep -q '=exited$' ; then
- /bin/systemctl stop ${SERVICE}.service
- fi
- env -i PATH="$PATH" TERM="$TERM" SYSTEMCTL_IGNORE_DEPENDENCIES=${SYSTEMCTL_IGNORE_DEPENDENCIES} SYSTEMCTL_SKIP_REDIRECT=${SYSTEMCTL_SKIP_REDIRECT} "${SERVICEDIR}/${SERVICE}" ${ACTION} ${OPTIONS}
+ # LSB daemons that dies abnormally in systemd looks alive in systemd's eyes due to RemainAfterExit=yes
+ # lets reap them before next start
+ if [ "${ACTION}" = "start" ] && \
+ systemctl show -p ActiveState ${SERVICE}.service | grep -q '=active$' && \
+ systemctl show -p SubState ${SERVICE}.service | grep -q '=exited$' ; then
+ /bin/systemctl stop ${SERVICE}.service
+ fi
+ env -i PATH="$PATH" TERM="$TERM" SYSTEMCTL_IGNORE_DEPENDENCIES=${SYSTEMCTL_IGNORE_DEPENDENCIES} SYSTEMCTL_SKIP_REDIRECT=${SYSTEMCTL_SKIP_REDIRECT} "${SERVICEDIR}/${SERVICE}" ${ACTION} ${OPTIONS}
elif [ -n "${ACTION}" ] && [ -x "${ACTIONDIR}/${SERVICE}/${ACTION}" ]; then
- env -i PATH="$PATH" TERM="$TERM" SYSTEMCTL_IGNORE_DEPENDENCIES=${SYSTEMCTL_IGNORE_DEPENDENCIES} SYSTEMCTL_SKIP_REDIRECT=${SYSTEMCTL_SKIP_REDIRECT} "${ACTIONDIR}/${SERVICE}/${ACTION}" ${OPTIONS}
+ env -i PATH="$PATH" TERM="$TERM" SYSTEMCTL_IGNORE_DEPENDENCIES=${SYSTEMCTL_IGNORE_DEPENDENCIES} SYSTEMCTL_SKIP_REDIRECT=${SYSTEMCTL_SKIP_REDIRECT} "${ACTIONDIR}/${SERVICE}/${ACTION}" ${OPTIONS}
elif `echo $ACTION | grep -Eqw "start|stop|restart|try-restart|reload|force-reload|status|condrestart"` ; then
- SERVICE_MANGLED=$(/usr/bin/systemd-escape --mangle ${SERVICE})
- echo $"Redirecting to /bin/systemctl ${ACTION}${OPTIONS:+ }${OPTIONS} ${SERVICE_MANGLED}" >&2
- exec /bin/systemctl ${ACTION} ${OPTIONS} ${SERVICE_MANGLED}
+ SERVICE_MANGLED=$(/usr/bin/systemd-escape --mangle ${SERVICE})
+ echo $"Redirecting to /bin/systemctl ${ACTION}${OPTIONS:+ }${OPTIONS} ${SERVICE_MANGLED}" >&2
+ exec /bin/systemctl ${ACTION} ${OPTIONS} ${SERVICE_MANGLED}
else
- echo $"The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl." >&2
- exit 2
+ echo $"The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl." >&2
+ exit 2
fi