3 # vservers: starts and stops vservers
6 # description: Wrapper to start and stop vservers
7 # This script does not care for vservers not started by it
9 # Copyright 1999-2004 Gentoo Foundation
10 # Modified for PLD by Jan Rękorajski <baggins@pld-linux.org>
11 # Distributed under the terms of the GNU General Public License v2
14 # Source function library
15 . /etc/rc.d/init.d/functions
17 [ -n "$UTIL_VSERVER_VARS" ] || UTIL_VSERVER_VARS=/usr/share/util-vserver/util-vserver-vars
18 if [ ! -e "$UTIL_VSERVER_VARS" ] ; then
19 echo "Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2
22 . "$UTIL_VSERVER_VARS"
24 [ -f /etc/sysconfig/vservers ] && . /etc/sysconfig/vservers
26 [ -n "$NUMPARALLEL" ] || NUMPARALLEL=1
27 [ -n "$LOCKDIR" ] || LOCKDIR="/var/lock/vservers"
43 if [ ! -f /var/lock/subsys/vprocunhide ]; then
44 echo "Run \"/sbin/service vprocunhide start\" first"
48 if is_yes "$STARTALL"; then
49 if [ ! -f /var/lock/subsys/vservers-all ]; then
50 show "Starting all types of vservers"
52 $_START_VSERVERS -j $NUMPARALLEL --all --start
55 [ $rc -eq 0 ] && touch /var/lock/subsys/vservers-all
57 echo "All types of vservers are already startred"
60 for MARK in $MARKS; do
61 if [ -f /var/lock/subsys/vservers-$MARK ]; then
62 echo "Vservers of type '$MARK' are already startred"
65 show "Starting vservers of type '$MARK'"
67 $_START_VSERVERS -m $MARK -j $NUMPARALLEL --all --start
70 [ $rc -eq 0 ] && touch /var/lock/subsys/vservers-$MARK
74 for VSERVER in $START_VSERVERS; do
75 if [ -f /var/lock/subsys/vserver-$VSERVER ]; then
76 echo "Vserver '$VSERVER' is already startred"
79 show "Starting single vserver '$VSERVER'"
81 $_VSERVER $VSERVER start
84 [ $rc -eq 0 ] && touch /var/lock/subsys/vserver-$VSERVER
86 touch /var/lock/subsys/vservers
90 for __V in $START_VSERVERS; do
91 __STOP_VSERVERS="$__V $__STOP_VSERVERS"
93 for VSERVER in $__STOP_VSERVERS; do
94 if [ ! -f /var/lock/subsys/vserver-$VSERVER ]; then
95 echo "Vserver '$VSERVER' is not running"
98 show "Stopping single vserver '$VSERVER'"
100 $_VSERVER $VSERVER stop
103 rm -f /var/lock/subsys/vserver-$VSERVER
106 if is_yes "$STARTALL"; then
107 if [ -f /var/lock/subsys/vservers-all ]; then
108 show "Stopping all types of vservers"
110 $_START_VSERVERS -j $NUMPARALLEL --all --stop
113 rm -f /var/lock/subsys/vservers-all
115 echo "All types of vservers are not running"
119 for __V in $MARKS; do
120 __STOP_MARKS="$__V $__STOP_MARKS"
122 for MARK in $__STOP_MARKS; do
123 if [ ! -f /var/lock/subsys/vservers-$MARK ]; then
124 echo "Vservers of type '$MARK' are not running"
127 show "Stopping vservers of type '$MARK'"
129 $_START_VSERVERS -m $MARK -j $NUMPARALLEL --all --stop
132 rm -f /var/lock/subsys/vservers-$MARK
135 rm -f /var/lock/subsys/vservers
138 echo "The following types of vservers are running:"
140 for i in /var/lock/subsys/vservers-*; do
141 [ -f "$i" ] || continue
142 echo $i | awk '{gsub("/var/lock/subsys/vservers-",""); printf(" %s\n",$0); }'
146 if [[ "${running}" != "true" ]]; then
151 echo "/proc/virtual/ says these are running:"
153 for i in /proc/virtual/*; do
154 [ -d $i ] || continue
155 NAME=$( basename $( vuname -g --xid $( basename ${i} ) CONTEX ) )
160 echo "vserver-stat says these are running:"
161 /usr/sbin/vserver-stat
164 msg_usage "$0 {start|stop|status}"
171 # This must be last line !