]> git.pld-linux.org Git - packages/libcgroup.git/blame - cgred.init
- much better attempt at setting permissions by new config options
[packages/libcgroup.git] / cgred.init
CommitLineData
382db189
JR
1#!/bin/sh
2#
3# cgred CGroups Rules Engine Daemon
ee76fe06 4# chkconfig: 2345 14 86
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
ER
61 RETVAL=$?
62 if [ $RETVAL -eq 0 ] ; then
933aa1de 63 rm -f /var/lock/subsys/cgred /var/run/cgrulesengd.pid
8c6adf20
ER
64 fi
65}
66
67reload() {
68 if [ ! -f /var/lock/subsys/cgred ] ; then
933aa1de 69 msg_not_running "CGroup Rules Engine Daemon"
8c6adf20
ER
70 return
71 fi
72
73 show "Reloading rules configuration..."
74 # SIGUSR2
75 kill -s 12 $(cat ${pidfile})
76 RETVAL=$?
77 if [ $RETVAL -eq 0 ]; then
78 fail
79 else
80 ok
81 fi
82}
83
84condrestart() {
85 if [ ! -f /var/lock/subsys/cgred ]; then
933aa1de 86 msg_not_running "CGroup Rules Engine Daemon"
8c6adf20
ER
87 RETVAL=$1
88 return
382db189 89 fi
8c6adf20
ER
90
91 stop
92 start
382db189
JR
93}
94
95RETVAL=0
96# See how we are called
97case "$1" in
98 start)
99 start
382db189
JR
100 ;;
101 stop)
102 stop
382db189
JR
103 ;;
104 restart)
105 stop
106 start
107 ;;
0c043bf5 108 reload)
8c6adf20
ER
109 reload
110 ;;
111 try-restart)
112 condrestart 0
113 ;;
114 force-reload)
115 condrestart 7
116 ;;
117 status)
a5f56916 118 status --pidfile /var/run/cgrulesengd.pid cgrulesengd
8c6adf20 119 RETVAL=$?
382db189
JR
120 ;;
121 *)
8c6adf20 122 msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}"
382db189
JR
123 exit 3
124 ;;
125esac
126
127exit $RETVAL
This page took 0.089419 seconds and 4 git commands to generate.