On Feb 16, 2012, at 2:39 PM, McCann, Brian wrote:

> So I got my UPS working.  I'm trying to get NUT to run under daemontools .  
> upsd and upsmon all seem to stay in the foreground when I add -D to them but 
> upsdrvctl doesn't.  Does anyone know if there's a hidden switch or something 
> to make it stay in the foreground?  The reason I want to use daemontools is 
> so that if the process crashes, daemontools will just start it right back up 
> again.  I run just about everything (Apache HTTPD is the only thing I have so 
> far that won't stay in the foreground) under daemontools.  Much easier to 
> check the status of all my services too.


The upsdrvctl binary is really just a convenience tool for rc.d scripts. As you 
may have seen when you pass -D (maybe several -Ds?), it prints the arguments 
that it will use to launch the driver(s). There is not much else to it - just a 
timer to make sure the driver isn't taking too long to launch. Drivers normally 
only go into the background after establishing a connection to the UPS 
hardware, but under daemontools, you would defeat that with -D (as you did with 
upsd and upsmon).

In order for daemontools to re-launch only the driver which crashes, it needs 
to monitor each driver separately. In that case, I would recommend bypassing 
upsdrvctl, and creating a separate daemontools service per driver. For my test 
system, the driver arguments would be "/lib/nut/tripplite_usb -a tripplite -D", 
but as I mentioned, upsdrvctl can print that.

-- 
Charles Lepple
clepple@gmail




_______________________________________________
Nut-upsuser mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/nut-upsuser

Reply via email to