On Thu, 5 Apr 2001, Florian Lohoff wrote:
On Thu, Apr 05, 2001 at 03:48:34PM +0200, David Rohleder wrote:
if [ -S /var/bird.ctl ] ; then echo already running fi
does the same thing.
And off course many daemons are using start-stop-daemon
Just by staring at it i saw a couple of ugly things - Must have been very early when i actually did it.
The above would only imply that the pipe exists but not actually tell you if bird is running.
"birdc" exits with an error code > 0 if bird is not reachable which i try to detect.
The problem with the start-stop-daemon is that it needs a pid file which when i remember correctly is not written by bird. One solution would have been to make a patch to bird (Which i had done if i remember) but i dropped it because of lazyness.
I have my own init system which uses a C program similar to debian's start-stop-daemon. I've written it such that given a command line flag the daemon spawning program will write a pid file if you know the daemon you're running doesn't write one (such as with bird). Once I did this I had no trouble starting and stopping bird using the pid file mechanism. Perhaps you might patch debian's start-stop-daemon to do a similar thing? It's a thought. 'james -- James A. Crippen <james@unlambda.com> ,-./-. Anchorage, Alaska, Lambda Unlimited: Recursion 'R' Us | |/ | USA, 61.2069 N, 149.766 W, Y = \f.(\x.f(xx)) (\x.f(xx)) | |\ | Earth, Sol System, Y(F) = F(Y(F)) \_,-_/ Milky Way.