Whenever I update my systems; I use -upD world to see what is being updated; what I really miss from this list, is a indication of what running services are about to be updated. This would help me determine which services I have to restart without reading the entire list of updates and trying to remember which box is running what service(s)..
This would mean that for every upgradable package, portage would have to: 1) Read the entire contents list of the currently installed version 2) Find out which files are executable 3) Find out which executables are currently running And to illustrate the effects of this: # time for x in $(cat /var/db/pkg/net-www/apache-2.0.52-r1/CONTENTS | grep -E '^obj' | awk '{print $2}'); do [ -x $x ] && ( lsof -n | grep $(basename $x) | grep -v grep>& /dev/null) && echo $x is running && break; done /usr/lib/libapr-0.so.0.9.5 is running real 0m0.328s # time for x in $(cat /var/db/pkg/x11-base/xorg-x11-6.8.0-r3/CONTENTS | grep -E '^obj' | awk '{print $2}'); do [ -x $x ] && ( lsof -n | grep $(basename $x) | grep -v grep >& /dev/null) && echo $x is running && break; done /usr/X11R6/lib/X11/locale/lib/common/xlibi18n.so.2 is running real 0m1.162s # time for x in $(cat /var/db/pkg/sys-kernel/hardened-dev-sources-2.6.7-r17/CONTENTS | grep -E '^obj' | awk '{print $2}'); do [ -x $x ] && ( lsof -n | grep $(basename $x) | grep -v grep >& /dev/null) && echo $x is running && break; done real 0m7.322s To give you an idea of my system: # time emerge -uDvp world > /dev/null real 0m5.437s # find /var/db/pkg -mindepth 2 -maxdepth 2 | wc -l 531 So, we're looking at a huge amount of added time. This could be done as a module in the next major version, but it won't be added to today's portage.