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