If you have piranha-gui running, and you try to "service httpd restart"
apache stops, but then refuses to start back, assumedly because it finds a
"httpd" process already running, even though the "httpd" that is running is
not servicing port 80.
Lets see,. the httpd init script /etc/rc.d/init.d/httpd
is what is actually being called so, what happens is that the restart option
just blindly does a stop and start
so it's using "killproc http" which from the looks of it should use the
/var/run/httpd.pid file to work out which set of httpds it should be nuking. It
then goes on to blasts /var/lock/subsys/httpd /var/run/httpd.pid with an rm -f
for good measure.
Meanwhile the piranha-gui has run a second instance of httpd on port 3636,
however it stores it's info in
which is independant of the normal httpd
Hummm,... so much for reading the src code.
/etc/rc.d/init.d/httpd start uses the shell primitive daemon() to launch a new
(found in /etc/rc.d/init.d/functions)
oh,.. right I see it's calling pidofproc which fails and then drops down to use
pidof which successfully sees the process and then terminates starting up a new
I'll see if I can get someone to look at that initscript function and find
something to do about it
But thats where it's dying. I suppose I'll have to work out a way of calling
httpd by the piranha-gui in such a way that pidof oesn't report it 8/
This has been fixed and will appeared in upcoming RPMs