#!/bin/bash # watch_and_nice - Watches for the specified process name, and renices it # to the desired value when seen. if [ $# -ne 2 ] ; then echo "Usage: $(basename $0) desirednice jobname" >&2 exit 1 fi pid="$(renicename -p "$2")" if [ "$pid" == "" ] ; then echo "No process found for $2" exit 1 fi if [ ! -z "$(echo $pid | sed 's/[0-9]*//g')" ] ; then echo "Failed to make a unique match in the process table for $2" >&2 exit 1 fi currentnice="$(ps -lp $pid | tail -1 | awk '{print $6}')" if [ $1 -gt $currentnice ] ; then echo "Adjusting priority of $2 to $1" renice $1 $pid fi exit 0