Hi again!

On Sat, Jun 11, 2005 at 04:03:36PM +0900, David Leangen wrote:
> 
> Hi, Peter!
> 
> Thank you so much for following up!!

No problem. Let's see if we can get this fixed.


> > This means that tcpserver can not start because some other
> > program is already using the port it wants, 993, so tcpserver
> > exits and shows as defunct since supervise has not yet cleaned
> > up after it. As soon as supervise cleans up, it tries to start
> > tcpserver again, and the process repeats.
> 
> That makes sense, but when I check my system, I see nothing else
> that is using this port. I was assuming that it was the <defunct>
> process causing the trouble.

[..]

> > then find the pid of the supervise watching bincimaps using
> > ps|grep supervise.bincimaps (the pid is the first number on the
> > line) and run
> 
> Ok. BTW, I seem to have quite a bit of a mess here...
> 
> There are 4 defunct supervise processes:
> 
> root     15912  0.0  0.0     0    0 ?        Z    16:00   0:00 [supervise]
> <defunct>
> root     15913  0.0  0.0     0    0 ?        Z    16:00   0:00 [supervise]
> <defunct>
> root     15914  0.0  0.0     0    0 ?        Z    16:00   0:00 [supervise]
> <defunct>
> root     15915  0.0  0.0     0    0 ?        Z    16:00   0:00 [supervise]
> <defunct>
> 
> Each of these is reincarnated after being killed...

Ah, indeed that's a bit of a mess. All of the supervise processes are
competing for taking care of the tcpserver service.


> Any idea how I can clean all that up?

If you're not using supervise for any other services, you could do:

mv /service/bincimaps /
touch /bincimaps/down
svc -dx /bincimaps
killall supervise
sleep 10s
mv /bincimaps /service

A new supervise process should start up for the bincimaps directory
within the next five seconds, but since the file down is present it
won't do anything. Try telling it to start tcpserver:

svc -u /service/bincimaps

Read more about supervise and friends on
http://cr.yp.to/daemontools/supervise.html


If you're using supervise for other services you'll have to kill off
the supervises gone bad by hand, but apart from that the above scheme
should work.

If you'd like more suggestions I'd like to see the output of

ps fax

It should provide a nice tree view of all active processes.

Also, what exactly do you have in /service? Have you made any changes
to the directories there? Tried creating several directories during
testing? That would be the cause of the multiple supervise processes.


> As you said, the file was VERY large... so I truncated it manually.
> Hope everything you need is there.
> 
> File attached.

Right. It confirms that supervise tries to start tcpserver over and
over, and that tcpserver can't allocate the socket address because
someone else is using it already.


> Thanks again so much!!!

No problems, hope we can get the supervises under control, they can
be a bit awkward at first, but once you've befriended them, they are
very very good to you. :)


//Peter

Reply via email to