]> git.pld-linux.org Git - projects/rc-scripts.git/blame - service
Add cpusets
[projects/rc-scripts.git] / service
CommitLineData
763b88c2
AM
1#!/bin/sh
2
3b917b57
AM
3# Set up a default search path.
4PATH="/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin"
5export PATH
6
58f95af1
ER
7is_ignored_file() {
8 case "$1" in
9 skeleton | README | *.dpkg-dist | *.dpkg-old | rc | rcS | single | reboot | bootclean.sh)
10 return 0
11 ;;
12 *rpmorig | *rpmnew | *rpmsave | *~ | *.orig)
13 return 0
14 ;;
15 esac
16 return 1
17}
18
cd835e00 19status_all() {
88a9daf2 20 local SERVICE TYPE
cd835e00
ER
21 cd ${SERVICEDIR}
22 for SERVICE in *; do
23 case "${SERVICE}" in
24 functions | halt | killall | single| linuxconf| kudzu)
25 ;;
26 *)
27 if ! is_ignored_file "${SERVICE}" \
28 && [ -x "${SERVICEDIR}/${SERVICE}" ]; then
88a9daf2
ER
29 if [ -f /etc/init/${SERVICE}.conf ]; then
30 # U for upstart
31 TYPE='U'
32 else
33 # S for SysVinit
34 TYPE='S'
35 fi
cd835e00
ER
36 if ! grep -qs "\Wstatus)" "$SERVICE"; then
37 #printf " %s %-60s %s\n" "[?]" "$SERVICE:" "unknown" 1>&2
32eb1940 38 echo " [ ? ]{$TYPE} $SERVICE"
cd835e00
ER
39 continue
40 else
41 out=$(env -i USE_UPSTART=$USE_UPSTART LANG="$LANG" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE" status 2>&1)
42 if [ "$?" = "0" -a -n "$out" ]; then
43 #printf " %s %-60s %s\n" "[+]" "$SERVICE:" "running"
88a9daf2 44 echo " [ + ]{$TYPE} $SERVICE"
cd835e00
ER
45 continue
46 else
47 #printf " %s %-60s %s\n" "[-]" "$SERVICE:" "NOT running"
88a9daf2 48 echo " [ - ]{$TYPE} $SERVICE"
cd835e00
ER
49 continue
50 fi
51 fi
52 #env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE" status
53 fi
54 ;;
55 esac
56 done
57}
58
86ae1ad7 59VERSION="$(basename $0) ver. 0.91-pld"
bf14fcab 60USAGE="Usage: $(basename $0) < option > | --status-all | \
763b88c2 61[ service_name [ command | --full-restart ] ]"
3b917b57 62
763b88c2 63SERVICE=
9fb27aac 64USE_UPSTART=
3b917b57 65
763b88c2 66if [ -d /etc/rc.d/init.d ]; then
1050f687 67 SERVICEDIR="/etc/rc.d/init.d"
763b88c2 68else
1050f687 69 SERVICEDIR="/etc/init.d"
763b88c2
AM
70fi
71
72if [ $# -eq 0 ]; then
1050f687
JR
73 echo "${USAGE}" >&2
74 exit 1
763b88c2
AM
75fi
76
a6c22d3d
AM
77cd /
78while [ $# -gt 0 ]; do
1050f687 79 case "${1}" in
dd0f0d33 80 --help | -h | --h* )
1050f687
JR
81 echo "${USAGE}" >&2
82 exit 0
83 ;;
dd0f0d33 84 --version | -V )
1050f687
JR
85 echo "${VERSION}" >&2
86 exit 0
87 ;;
36924fb4
ER
88 --upstart)
89 USE_UPSTART=yes
9fb27aac
JK
90 shift
91 ;;
36924fb4
ER
92 --no-upstart)
93 USE_UPSTART=no
9fb27aac
JK
94 shift
95 ;;
cd835e00 96 *)
1050f687 97 if [ -z "${SERVICE}" -a $# -eq 1 -a "${1}" = "--status-all" ]; then
cd835e00 98 status_all
1050f687
JR
99 exit 0
100 elif [ $# -eq 2 -a "${2}" = "--full-restart" ]; then
101 SERVICE="${1}"
102 if [ -x "${SERVICEDIR}/${SERVICE}" ]; then
9fb27aac
JK
103 env -i USE_UPSTART=$USE_UPSTART LANG=$LANG PATH=$PATH TERM=$TERM "${SERVICEDIR}/${SERVICE}" stop
104 env -i USE_UPSTART=$USE_UPSTART LANG=$LANG PATH=$PATH TERM=$TERM "${SERVICEDIR}/${SERVICE}" start
1050f687
JR
105 exit $?
106 fi
107 elif [ -z "${SERVICE}" ]; then
108 SERVICE="${1}"
dd0f0d33
ER
109 elif [ -z "${ACTION}" ]; then
110 ACTION="${1}"
1050f687
JR
111 else
112 OPTIONS="${OPTIONS} ${1}"
113 fi
114 shift
115 ;;
116 esac
763b88c2
AM
117done
118
119if [ -x "${SERVICEDIR}/${SERVICE}" ]; then
18a75cfd 120 exec env -i USE_UPSTART=$USE_UPSTART LANG=$LANG PATH=$PATH TERM=$TERM "${SERVICEDIR}/${SERVICE}" ${ACTION} ${OPTIONS}
763b88c2 121else
1050f687
JR
122 echo "${SERVICE}: unrecognized service" >&2
123 exit 1
763b88c2 124fi
This page took 0.558635 seconds and 4 git commands to generate.