portupgradeをはじめてから、niceしておくのわすれた!、ってときにつかっているスクリプト。
pstreeとかps axuww|grep portupgradeとかで親玉のpidをしらべて、renicer +10 親玉PID を実行すると子孫すべてを renice+10 する。
#!/bin/sh
# renice recursively
# usage: renicer prio pid...
prio="$1"; shift
queue="$*"
while [ "$queue" != "" ]; do
list="$queue"
queue=""
renice $prio -p $list
for pid in $list; do
children=`ps -ax -o ppid,pid | awk '$1=='$pid'{print $2}'`
queue="$queue $children"
done
done
exit 0














