If I invoke Netscape as /usr/bin/netscape (which is a sh wrapper
around /usr/lib/netscape-communicator) then I cannot dock the application
in WindowMaker, it cannot be saved in a WindowMaker session and I cannot
set other properties.
If I invoke it directly as /usr/lib/netscape-communicator then everything
works as expected.
A 'ps' when invoked as /usr/bin/netscape shows two processes:
21654 21559 39 00:39 tty1 00:00:04 /usr/lib/netscape/netscape-commu
21667 21654 0 00:39 tty1 00:00:00 [netscape <defunct>]
I suspect it is related to the <defunct> process. Could it be because when
the wrapper invokes the real executable it does not 'exec' it?
The defunct process is actually either
A) a dns helper
b) a previous dead netscape process
It doesn't really have anything to do with the wrapper.
How do you explain then the fact that the <defunct> process shows up *ONLY*
when starting netscape through the wrapper? I just tried it again, I started
Netscape directly and actively used it for a while to rule out the DNS process,
after using it for about 15 min. there is still no <defunct> process. I quit,
checked ps again, no sign of any running Netscape at all, then started Netscape
using the wrapper, the <defunct> process showed up right away.
Hm, this appears to be a bug in WindowMaker's docking; it's
expecting the PID that it launched to stay running, but since
the shell script actually executes netscape, it's not being watched
But the shell script 'exec's netscape. hmm.
I dont think that this can be called a bug in WindowMaker.
What possible behaviour could it have than to wait on the process?
Should it wait on the process's children; which one?