I am running a NIS server (ypserv) being used as client (ypbind) also. At
shutdown I recognize a lockup (until a timeout occurs) of all services
going to killed after ypserv (e.g. portmap).
Tracing back led to the execution of "ps -h" in
/etc/rc.d/init.d/functions::killproc(). "ps" doesn't take care for any
option and tries to make a lookup for the user/group-name of each running
process. But because the NIS server is shut down already, nobody listens
for it and the lookup will hang.
Best solution would be IMHO the modification of "ps" so it's doing a
minimal work only. For the meantime I suggest a substitution of "ps h" by
"lookForPid" being defined as:
while [ "$1" ]; do
[ -d /proc/$1 ] && return 0
Perhaps a substitution by "pidof $base" is possible also.
Should be changed as of 5.02-1.