/usr/share/gridengine/idle-nodes 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 | #!/bin/sh
# List idle SGE nodes.
# Dave Love <fx@gnu.org>, 2008-09
# Copyright (C) 2008 The University of Liverpool
# Licence: FreeBSD <http://www.gnu.org/licenses/license-list.html#FreeBSD>
usage () {
echo "Usage: $(basename $0) [-w]
List nodes with SGE active (sge_execd responding) not currently running jobs.
May include nodes with queues disabled (see \`disabled-nodes').
-w means separate node names with commas, to produce a list suitable
for the -w arg of pdsh."
}
sep='"\n"'
case $1 in
--help) usage; exit;;
-w) sep='","';;
'') : ;;
*) usage 1>&2; exit 1;;
esac
# 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
if (node) {
printf ("%s%s", sep, node) # from previous line
'sep=$sep' # shell substitution!
}
if ($7 == "-")
node = ""
else
node = $1
}
/^[[:blank:]]+[0-9]/ {node = ""} # job
END {
if (node)
printf ("%s%s", sep, node) # possible left-over
if (sep != ",") print ""
}
'
|