/usr/share/gridengine/nodes-in-job is in gridengine-common 8.1.9+dfsg-7build1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | #!/bin/sh
# List nodes used by a running SGE job.
# Dave Love <fx@gnu.org>, 2009-01
# Copyright (C) 2009 The University of Liverpool
# Licence: FreeBSD <http://www.gnu.org/licenses/license-list.html#FreeBSD>
usage () {
echo "Usage: $(basename $0) [-w] <jobid>
List nodes currently running SGE job number <jobid>.
-w means separate node names with commas, to produce a list suitable
for the -w arg of pdsh."
}
if [ $# -eq 0 -o $# -gt 2 ]; then
usage 1>&2; exit 1
fi
sep='"\n"'
while [ $# -gt 0 ]; do
case $1 in
--help) usage; exit;;
-w) sep='","';;
-*) usage 1>&2; exit 1;;
*) jobid=$1;;
esac
shift
done
if [ -z "$jobid" ]; then
usage 1>&2; exit 1
fi
# The qhost output comprises a header and node lines up until the
# first node with a job in it, when the node ine is followed by
# another header and the job details. Filter the headers and look for
# node lines, which have leading node names (no spaces). If the
# following line has leading blanks and a number (job info), the node
# is busy.
qhost -j |
awk '
/^HOSTNAME|^-/ {node=""} # header
/^[[:blank:]]+(job-ID|-)/ {next}# header
/^[^[:blank:]]/ {node = $1} # node
/^[[:blank:]]+[0-9]/ { # job
if (node && ($1 == "'$jobid'")) { # shell substitution!
printf ("%s%s", sep, node) # from previous line
'sep=$sep' # shell substitution!
}
}'
[ $sep = '"\n"' ] && echo
|