--- recepies/lxc/lxc-watchdog.sh 2011/03/29 18:02:44 245 +++ recepies/lxc/lxc-watchdog.sh 2011/06/26 15:00:40 264 @@ -145,9 +145,11 @@ lxc_watchdog() { name=$1 rootfs=$(lxc_rootfs $1) +run=$rootfs/var/run +test -L $run && run=$rootfs/`readlink $run` # recent Debian have symlink to /run +cd $run || echo "can't cd watchdog into $run" while true; do - vps_utmp=${rootfs}/var/run/utmp tasks=`wc -l < /cgroup/${name}/tasks` stop_on=1 # init sulogins=`lxc-ps --name $name | grep sulogin | wc -l` @@ -158,14 +160,14 @@ test -z "$tasks" && exit 1 if [ "$tasks" -eq $stop_on ]; then - runlevel="$(runlevel ${vps_utmp})" + runlevel="$(runlevel utmp)" lxc_log "$name runlevel $runlevel" case $runlevel in N*) # nothing for new boot state ;; - ??0) + ??0|unknown) lxc_log "$name halt" lxc-stop -n "${name}" lxc-wait -n ${name} -s STOPPED @@ -188,7 +190,7 @@ fi # time of 5 minutes on it JUST IN CASE... - inotifywait -qqt 300 ${vps_utmp} + inotifywait -qqt 300 utmp done lxc_log "$name watchdog exited"