From 246362ca48c86f760bd61456abfdc74363b68b23 Mon Sep 17 00:00:00 2001 From: jbjohnso Date: Fri, 14 Jun 2013 14:39:12 +0000 Subject: [PATCH] Leave no processes or files behind on exit, allow updatenode to happily exit Actually retry every interval rather than just endlessly listening git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@16635 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd --- xCAT/postscripts/xcatflowrequest | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/xCAT/postscripts/xcatflowrequest b/xCAT/postscripts/xcatflowrequest index 2aa7015d5..79112ca68 100644 --- a/xCAT/postscripts/xcatflowrequest +++ b/xCAT/postscripts/xcatflowrequest @@ -13,12 +13,19 @@ touch /tmp/killme.$parpid exec 2> /dev/null while ! grep 'resourcerequest: ok' /tmp/goahead.$parpid > /dev/null; do ( + echo "resourcerequest: xcatd" >&13 exec 14<>/proc/self/stat read mystat<&14 mypid=$(echo $mystat|cut -d " " -f 4) (sleep $(((RANDOM%60)+120)).$((RANDOM%50)); if [ -f /tmp/killme.$parpid ]; then kill -TERM $mypid; fi) & + echo $! > /tmp/sleeperpid.$parpid exec awk '{print $0 > "/tmp/goahead.'$parpid'";exit}' <&13 ) done +sleeper=$(cat /tmp/sleeperpid.$parpid) +sleeper=$(ps -ef|awk "\$3==$sleeper"|awk '{print $2}') +kill -TERM $sleeper +rm /tmp/goahead.$parpid +rm /tmp/sleeperpid.$parpid rm /tmp/killme.$parpid