Magellan Linux

Contents of /mage/trunk/include/mtools.minc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2 - (show annotations) (download)
Sat Jan 2 16:48:22 2010 UTC (14 years, 3 months ago) by niro
File size: 1617 byte(s)
-initial mage profiles and includes
1 # $Header: /alx-cvs/mage-eglibc/include/mtools.minc,v 1.1.1.1 2008/03/05 15:10:52 niro Exp $
2
3 # adds services to runlevels and starts them
4 # mstartservice service {/path/to/service_exec}
5 mstartservice()
6 {
7 local service="$1"
8 local service_exec="$2"
9
10 [[ -z ${service_exec} ]] && service_exec="$(which ${service})"
11
12 # add service to default runlevels
13 echo "Adding ${service} to default runlevels ..."
14 [[ -x ${MROOT}/etc/rc.d/init.d/${service} ]] && rc-config add ${service} &> /dev/null
15
16 # do not start services on bootstrap or MROOT!=/
17 if [[ ${MAGE_BOOTSTRAP} != true ]] && [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]]
18 then
19 # start service
20 if [[ -n $(pidof ${service_exec}) ]]
21 then
22 # restart service
23 /etc/init.d/${service} restart
24 else
25 # start service
26 /etc/init.d/${service} start
27 fi
28 fi
29 }
30
31 # removes services from runlevels and stops them
32 # mstopservice service {/path/to/service_exec}
33 mstopservice()
34 {
35 local service="$1"
36 local service_exec="$2"
37
38 [[ -z ${service_exec} ]] && service_exec="$(which ${service})"
39
40 # only stop the service if ${service_exec} does not exist
41 [[ -f ${MROOT}/${service_exec} ]] && return
42
43 # del services from runlevel regardless if they exist or not
44 echo "Removing ${service} from default runlevels ..."
45 rc-config del ${service} &> /dev/null
46
47 # do not stop services on bootstrap or MROOT!=/
48 if [[ ${MAGE_BOOTSTRAP} != true ]] && [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]]
49 then
50 # stop service if running
51 if [[ -n $(pidof ${service_exec}) ]]
52 then
53 killall -15 ${service_exec} &> /dev/null
54 sleep 1
55 killall -9 ${service_exec} &> /dev/null
56 fi
57 fi
58 }