From patchwork Tue Jan 22 23:51:09 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [U-Boot] MAKEALL: fix kill_children for BSD hosts Date: Tue, 22 Jan 2013 13:51:09 -0000 From: =?utf-8?q?Andreas_Bie=C3=9Fmann?= X-Patchwork-Id: 214696 Message-Id: <1358898669-21682-1-git-send-email-andreas.devel@googlemail.com> To: U-Boot Mailinglist Cc: Joe Hershberger ps on BSD hosts (like OS X) do not provide the --no-headers switch nor understand the AIX format descriptions. Make the call for ps portable and filter the relevant line from output (including the header) with sed. Also switch from pgrep to ps to get the list of children and use the same mechanism as for pgid. This patch makes the MAKEALL script cleanly stoppable on bare OS X when using the parallel builds of targets. Signed-off-by: Andreas Bießmann Cc: Joe Hershberger --- MAKEALL | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MAKEALL b/MAKEALL index 5b06c54..d926846 100755 --- a/MAKEALL +++ b/MAKEALL @@ -784,8 +784,8 @@ build_targets() { #----------------------------------------------------------------------- kill_children() { - local pgid=`ps -p $$ --no-headers -o "%r" | tr -d ' '` - local children=`pgrep -g $pgid | grep -v $$ | grep -v $pgid` + local pgid=`ps -p $$ -o pgid | sed -e "/PGID/d"` + local children=`ps -g $pgid -o pid | sed -e "/PID\|$$\|$pgid/d"` kill $children 2> /dev/null wait $children 2> /dev/null