# locates a process given a search pattern to match in the process list.
function psfind() {
local -a patterns=("${@}")
- mkdir $TEST_TEMP/grid_logs &>/dev/null
local PID_DUMP="$(mktemp "$TMP/zz_pidlist.XXXXXX")"
local -a PIDS_SOUGHT
if [ "$OS" == "Windows_NT" ]; then
# local CR='
#' # embedded carriage return.
# local appropriate_pattern="s/^.* *\([0-9][0-9]*\)[ $CR]*\$/\1/p"
- local appropriate_pattern="s/^.* *\([0-9][0-9]*\)*\$/\1/p"
+ local appropriate_pattern="s/^.* *\([0-9][0-9]*\) *\$/\1/p"
for i in "${patterns[@]}"; do
PIDS_SOUGHT+=($(cat $PID_DUMP \
| grep -i "$i" \
echo "psa finds processes by pattern, but there was no pattern on the command line."
return 1
fi
- p=$(psfind "$1")
+ p=$(psfind "${@}")
if [ -z "$p" ]; then
# no matches.
return 0
fi
echo ""
- echo "Processes containing \"$1\"..."
+ echo "Processes matching ${@}..."
echo ""
if [ -n "$IS_DARWIN" ]; then
unset fuzil_sentinel