1
1
openmpi/orte/tools/orte-bootproxy/orte-bootproxy.sh
Ralph Castain 70b8c89b44 Fix slave spawn, which was hanging because the local daemon never saw the slave job report - it doesn't do it in the normal way, and so the slave launch system itself has to "fake it".
Also complete implementation to printout app_context objects so we see all the fields.

This commit was SVN r21408.
2009-06-10 19:01:08 +00:00

92 строки
2.3 KiB
Bash
Исполняемый файл

#!/bin/bash
#
# Copyright (c) 2009 Los Alamos National Security, LLC. All rights reserved
# Copyright (c) 2009 Cisco Systems, Inc. All rights reserved.
#
if (( $# < 1 )) ; then
echo "orte-bootproxy.sh: for OMPI internal use only"
exit 1
fi
# take the first arg
var=$1
# if the var is CLEANUP, then we are in cleanup mode
if [ "${var}" == "CLEANUP" ]; then
shift 1
var=$1
if [ -n "${var}" ] && [ "${var}" == "APPS" ]; then
# kill specified apps
shift 1
var=$1
# get the process table
psout=`ps`
# cycle through and look for the specified apps
while [ -n "${var}" ] && [ "${var}" != "FILES" ]; do
testvar=`echo "${psout}" | grep "${var}"`
if [ -n "${testvar}" ]; then
# echo "killall" "${var}"
killall -TERM "${var}"
fi
shift 1
var=$1
done
if [ -n "${var}" ]; then
shift 1
var=$1
# remove specified files
while [ -n "${var}" ]; do
if [ -e "${var}" ]; then
# echo "rm" "${var}"
rm -f "${var}"
fi
shift 1
var=$1
done
fi
elif [ "${var}" = "FILES" ]; then
# remove specified files
shift 1
var=$1
while [ -n "${var}" ]; do
if [ -e "${var}" ]; then
# echo "rm" "${var}"
rm -f "${var}"
fi
shift 1
var=$1
done
fi
# remove any session directories from this user
# sdir="${TMPDIR}""openmpi-sessions-""${USER}""@"`hostname`"_0"
sdir="/tmp/openmpi-sessions-""${USER}""@"`hostname`"_0"
if [ -e "${sdir}" ]; then
# echo "rm" "${sdir}"
rm -rf "${sdir}"
fi
exit 0
fi
# push all MCA params to the environment
while [ "${var:0:5}" = "OMPI_" ]; do
if [ "${var:5:6}" = "PREFIX" ]; then
export LD_LIBRARY_PATH="${var:12}"/lib:$LD_LIBRARY_PATH
export PATH="${var:12}"/bin:$PATH
elif [ "${var:5:4}" = "WDIR" ]; then
cd "${var:10}"
else
export $var
fi
shift 1
var=$1
done
# extract the application to be executed
app=$1
shift 1
#exec the app with the remaining args
#echo "executing" "$app"
exec "$app" "$@"