From 2acd4aaf8b84316e30b63ba1f785e2e15ddee4a3 Mon Sep 17 00:00:00 2001 From: Sebastien Luttringer Date: Thu, 5 May 2011 01:17:24 +0200 Subject: Rename rc into rc.d To avoid conflict with plan9 rc shell we need to rename our rc. Original name come from debian invoke-rc.d, shortened into rc. Signed-off-by: Sebastien Luttringer Signed-off-by: Tom Gundersen --- rc.d | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100755 rc.d (limited to 'rc.d') diff --git a/rc.d b/rc.d new file mode 100755 index 0000000..743d86b --- /dev/null +++ b/rc.d @@ -0,0 +1,60 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +usage() { + cat >&2 << EOF +usage: rc action daemon ... + +e.g: rc list + rc help + rc start sshd gpm +EOF + exit 1 +} + +(( $# < 1 )) && usage + +declare -i ret=0 +case $1 in + help) + usage + ;; + list) + cd /etc/rc.d/ + for d in *; do + have_daemon "$d" || continue + # print running / stopped satus + if ! ck_daemon "$d"; then + printf "${C_OTHER}[${C_DONE}STARTED${C_OTHER}]" + else + printf "${C_OTHER}[${C_FAIL}STOPPED${C_OTHER}]" + fi + # print auto / manual status + if ! ck_autostart "$d"; then + printf "${C_OTHER}[${C_DONE}AUTO${C_OTHER}]" + else + printf "${C_OTHER}[${C_FAIL} ${C_OTHER}]" + fi + printf " ${C_MAIN}$d${C_CLEAR}\n" + done + ;; + *) + action=$1 + shift + # set same environment variables as init + runlevel=$(/sbin/runlevel) + ENV="PATH='/bin:/usr/bin:/sbin:/usr/sbin'" + ENV+=" PREVLEVEL='${runlevel:0:1}'" + ENV+=" RUNLEVEL='${runlevel:2:1}'" + ENV+=" CONSOLE='${CONSOLE:-/dev/console}'" + for i; do + [[ -x "/etc/rc.d/$i" ]] && cd / && eval /usr/bin/env -i $ENV "/etc/rc.d/$i" "$action" + (( ret += !! $? )) # clamp exit value to 0/1 + done +esac + +exit $ret + +# vim: set ts=2 sw=2 noet: -- cgit v1.2.3