# $Header: /alx-cvs/mage-eglibc/include/mtools.minc,v 1.1.1.1 2008/03/05 15:10:52 niro Exp $ # adds services to runlevels and starts them # mstartservice service {/path/to/service_exec} mstartservice() { local service="$1" local service_exec="$2" [[ -z ${service_exec} ]] && service_exec="$(which ${service})" # add service to default runlevels echo "Adding ${service} to default runlevels ..." [[ -x ${MROOT}/etc/rc.d/init.d/${service} ]] && rc-config add ${service} &> /dev/null # do not start services on bootstrap or MROOT!=/ if [[ ${MAGE_BOOTSTRAP} != true ]] && [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] then # start service if [[ -n $(pidof ${service_exec}) ]] then # restart service /etc/init.d/${service} restart else # start service /etc/init.d/${service} start fi fi } # removes services from runlevels and stops them # mstopservice service {/path/to/service_exec} mstopservice() { local service="$1" local service_exec="$2" [[ -z ${service_exec} ]] && service_exec="$(which ${service})" # only stop the service if ${service_exec} does not exist [[ -f ${MROOT}/${service_exec} ]] && return # del services from runlevel regardless if they exist or not echo "Removing ${service} from default runlevels ..." rc-config del ${service} &> /dev/null # do not stop services on bootstrap or MROOT!=/ if [[ ${MAGE_BOOTSTRAP} != true ]] && [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] then # stop service if running if [[ -n $(pidof ${service_exec}) ]] then killall -15 ${service_exec} &> /dev/null sleep 1 killall -9 ${service_exec} &> /dev/null fi fi }