]> git.pld-linux.org Git - packages/libcgroup.git/blame - cgred.init
- rel 2
[packages/libcgroup.git] / cgred.init
CommitLineData
382db189
JR
1#!/bin/sh
2#
3# cgred CGroups Rules Engine Daemon
dcbb2e58 4# chkconfig: 2345 02 98
382db189
JR
5# description: This is a daemon for automatically classifying processes \
6# into cgroups based on UID/GID.
7#
8# processname: cgrulesengd
933aa1de 9# pidfile: /var/run/cgrulesengd.pid
382db189
JR
10#
11
12# Source function library
13. /etc/rc.d/init.d/functions
14
15start() {
8c6adf20 16 if [ -f /var/lock/subsys/cgred ]; then
382db189
JR
17 msg_already_running "CGroup Rules Engine Daemon"
18 return
19 fi
20
382db189 21 if [ ! -s /etc/cgrules.conf ]; then
04ae980e 22 nls "CGroup Rules Engine Daemon not configured"
8c6adf20
ER
23 RETVAL=6
24 return
382db189 25 fi
8c6adf20 26 if ! grep -qs "^cgroup" /proc/mounts; then
04ae980e 27 nls "Cannot find cgroups, is cgconfig service running?"
8c6adf20
ER
28 RETVAL=1
29 return
382db189 30 fi
8c6adf20 31
46a5eb94 32 msg_starting "CGroup Rules Engine Daemon"
382db189
JR
33 # Read in configuration options.
34 OPTIONS=""
8c6adf20 35 if [ -f /etc/sysconfig/cgred.conf ]; then
382db189
JR
36 . /etc/sysconfig/cgred.conf
37
38 OPTIONS="$NODAEMON $LOG"
39 [ -n "$LOG_FILE" ] && OPTIONS="$OPTIONS --logfile=$LOG_FILE"
40 [ -n "$SOCKET_USER" ] && OPTIONS="$OPTIONS -u $SOCKET_USER"
41 [ -n "$SOCKET_GROUP" ] && OPTIONS="$OPTIONS -g $SOCKET_GROUP"
42 fi
43
933aa1de 44 daemon --pidfile /var/run/cgrulesengd.pid /sbin/cgrulesengd $OPTIONS
382db189
JR
45 RETVAL=$?
46 if [ $RETVAL -ne 0 ]; then
47 return 7
48 fi
7e869c6f 49 touch /var/lock/subsys/cgred
933aa1de 50 pidof cgrulesengd > /var/run/cgrulesengd.pid
382db189
JR
51}
52
53stop() {
8c6adf20 54 if [ ! -f /var/lock/subsys/cgred ]; then
382db189 55 msg_not_running "CGroup Rules Engine Daemon"
8c6adf20
ER
56 return
57 fi
58
59 msg_stopping "CGroup Rules Engine Daemon"
933aa1de 60 killproc --pidfile /var/run/cgrulesengd.pid cgrulesengd -TERM
8c6adf20 61 RETVAL=$?
bb6b4f05 62 rm -f /var/lock/subsys/cgred /var/run/cgrulesengd.pid
8c6adf20
ER
63}
64
65reload() {
66 if [ ! -f /var/lock/subsys/cgred ] ; then
933aa1de 67 msg_not_running "CGroup Rules Engine Daemon"
8c6adf20
ER
68 return
69 fi
70
71 show "Reloading rules configuration..."
72 # SIGUSR2
73 kill -s 12 $(cat ${pidfile})
74 RETVAL=$?
75 if [ $RETVAL -eq 0 ]; then
76 fail
77 else
78 ok
79 fi
80}
81
82condrestart() {
83 if [ ! -f /var/lock/subsys/cgred ]; then
933aa1de 84 msg_not_running "CGroup Rules Engine Daemon"
8c6adf20
ER
85 RETVAL=$1
86 return
382db189 87 fi
8c6adf20
ER
88
89 stop
90 start
382db189
JR
91}
92
93RETVAL=0
94# See how we are called
95case "$1" in
96 start)
97 start
382db189
JR
98 ;;
99 stop)
100 stop
382db189
JR
101 ;;
102 restart)
103 stop
104 start
105 ;;
0c043bf5 106 reload)
8c6adf20
ER
107 reload
108 ;;
109 try-restart)
110 condrestart 0
111 ;;
112 force-reload)
113 condrestart 7
114 ;;
115 status)
a5f56916 116 status --pidfile /var/run/cgrulesengd.pid cgrulesengd
8c6adf20 117 RETVAL=$?
382db189
JR
118 ;;
119 *)
8c6adf20 120 msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}"
382db189
JR
121 exit 3
122 ;;
123esac
124
125exit $RETVAL
This page took 0.101963 seconds and 4 git commands to generate.