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: ------ lookForPid() { while [ "$1" ]; do [ -d /proc/$1 ] && return 0 shift done return 1 } ------ Perhaps a substitution by "pidof $base" is possible also.
Should be changed as of 5.02-1.