Hi,

I've been trying to debug this myself too, and actually thought like in
bug #506995 that portmap was running twice, since it would be started from
/etc/rcS.d/S40networking (which kicks /etc/network/if-up.d/nfsmount.sh)
and also from /etc/rcS.d/S43portmap.
So I disabled the rcS.d portmap and nfs-common since the nfsmount.sh
script would start them, but then I still had the problem!

As far as I can tell now, /etc/init.d/portmap does:
  pid=$( pidofproc portmap )
The $() starts a new process, and pidof -o %PPID uses this as parent pid.
But the /etc/init.d/portmap script is also running, and recognized, making
the pidof program return a of the init.d script.

I've fix it like this, but you're welcome to make your own conclusions and
fixes :)

--- /etc/init.d/portmap.old     2008-11-28 22:49:01.359743640 +0100
+++ /etc/init.d/portmap 2008-11-28 22:49:07.680869696 +0100
@@ -30,8 +30,8 @@
 case "$1" in
     start)
        log_begin_msg "Starting portmap daemon..."
-       pid=$( pidofproc portmap )
-       if [ -n "$pid" ] ; then
+       pidofproc portmap >/dev/null
+       if [ "$?" = 0 ] ; then
              log_begin_msg "Already running."
              log_end_msg 0
              exit 0


Since I don't know of a way to capture the output in a variable without
using $() or ``, I let it check the return value of pidofproc.

John




--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to