[Lxc-users] stopping a container
Papp Tamas
tompos at martos.bme.hu
Sun Sep 4 16:17:21 UTC 2011
On 09/02/2011 06:33 PM, Matteo Bernardini wrote:
> 2011/9/2 Papp Tamas<tompos at martos.bme.hu>:
>> What is the right way to stop a container?
> hope this lxc-devel's thread can help
>
> http://sourceforge.net/mailarchive/forum.php?thread_name=4DDA6AD2.3070900%40thomas-krenn.com&forum_name=lxc-devel
>
> personally, I have no problem in ssh'ing in the container and halt it. :)
Thanks.
Would not the init script be better with this diff at least until
lxc-attach gets to work?
--- lxc.orig 2011-01-27 15:07:41.000000000 +0100
+++ lxc 2011-09-04 18:09:32.300937844 +0200
@@ -37,6 +37,34 @@
fi
}
+stop_one() {
+ name=$1
+ dir_cgroup=`grep -w cgroup /proc/mounts|awk '{ print $2 }'`
+ if [ ! -d $dir_cgroup/$name ]; then
+ log_failure_msg "$name is not running."
+ return
+ fi
+
+ echo -n "Stopping $name"
+ pid_init=`lxc-ps --name $name | grep init$ | awk '{ print $2 }'`
+
+ kill -INT $pid_init
+ count=0
+ while lxc-ps --name $name | egrep -qv '(init$|CONTAINER PID
TTY TIME CMD)';do
+ if [ $count -ge 600 ];then
+ log_failure_msg "Container $name cannot be stopped on the
proper way."
+ return
+ fi
+ echo -n '.';
+ sleep 1;
+ count=$(($count+1))
+ done
+
+ lxc-stop -n $name
+ echo " done."
+ log_success_msg "Container $name has been stopped successfully."
+}
+
action_all() {
action=$1
nolog=$2
@@ -54,7 +82,8 @@
;;
stop)
log_daemon_msg "Stopping $DESC"
- action_all "lxc-stop -n"
+ action_all stop_one
;;
restart|force-reload)
log_daemon_msg "Restarting $DESC"
Modified from Ubuntu's script:
ii lxc
0.7.4-0ubuntu9 Linux containers
userspace tools
I'm sorry about my poor scripting skills:)
Thanks,
tamas
More information about the lxc-users
mailing list