From 827c71a9f034417a388caba9c0be3cff143a4686 Mon Sep 17 00:00:00 2001 From: Edison Su Date: Wed, 22 Jun 2011 17:46:56 -0400 Subject: [PATCH] wait for 30s, after stop agent --- .../ubuntu/SYSCONFDIR/init.d/cloud-agent.in | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/agent/distro/ubuntu/SYSCONFDIR/init.d/cloud-agent.in b/agent/distro/ubuntu/SYSCONFDIR/init.d/cloud-agent.in index 404ed74af0f..0c09f1e3b94 100755 --- a/agent/distro/ubuntu/SYSCONFDIR/init.d/cloud-agent.in +++ b/agent/distro/ubuntu/SYSCONFDIR/init.d/cloud-agent.in @@ -86,8 +86,30 @@ start() { } stop() { - echo -n $"Stopping $PROGNAME" "$SHORTNAME" - start-stop-daemon --stop --quiet --oknodo --pidfile "$PIDFILE" + SHUTDOWN_WAIT="30" + count="0" + + echo -n $"Stopping $PROGNAME" "$SHORTNAME" + start-stop-daemon --stop --quiet --oknodo --pidfile "$PIDFILE" + + until [ "$count" -gt "$SHUTDOWN_WAIT" ] + do + agentPid=`ps aux|grep [j]ava` + if [ "$?" -gt "0" ];then + break + fi + sleep 1 + let count="${count}+1" + done + + agentPid=`ps aux|grep [j]ava` + if [ "$?" -eq "0" ]; then + agentPid=`ps aux|grep [j]ava|awk '{print $2}'` + if [ "$agentPid" != "" ]; then + kill -9 $agentPid + fi + fi + log_end_msg $? rm -f "$PIDFILE" }