Reported by Unknown User, Mar 24, 2006
(This entry was imported from the savannah tracker, original location: https://savannah.nongnu.org/bugs/index.php?16177) It would be really nice to be able to properly daemonize "monotone serve", allowing it to fork to the background, accept SIGHUP signals (to reread monotonerc files), and send logs to syslog. Other possibilities: keep running statistics about number of netsync requests processed, active connections, etc.; a "monotone sctrl" command to query and control the daemon. e.g. $ monotone -d DBPATH --syslog serve --background --pid-file=PIDPATH PATTERN monotone version: ----------------- monotone 0.24 (base revision: d59847072bb689e952ab21db7f9fababdb80a19f) Running on: Linux 2.6.15-1-amd64-k8-smp #2 SMP Sat Feb 25 20:14:22 UTC 2006 x86_64 Changes since base revision: new_manifest [372d1c1e2c97f00c8a329d7f2dfae6ba28fe1db6] old_revision [d59847072bb689e952ab21db7f9fababdb80a19f] old_manifest [372d1c1e2c97f00c8a329d7f2dfae6ba28fe1db6] Generated from data cached in the distribution; further changes may have been made. Generated from data cached in the distribution; further changes may have been made. Generated from data cached in the distribution; further changes may have been made.
Comment 1 by Unknown User, Mar 25, 2006
Fair enough! I'll just mention, you can use 'runit' to get most of these features, and more -- it's very nice. http://smarden.sunsite.dk/runit/ Obviously this doesn't replace the functionality requested in this bug, but maybe it's useful to have the link here where people can find it, in the mean time...
Comment 2 by Unknown User, Jul 17, 2006
anyone working on this bug/feature request, should also take a look at bug #12947 overview: Allow servers to continuously sync with each other
Comment 3 by Unknown User, Aug 22, 2006
I'd like to amplify the comment re: runit to mention that I wouldn't want to see foreground service go away. Runit and daemontools both work much better with apps that run in the foreground, and I happen to hold with their philosophy that an app should do one thing and do it well - in monotone's case version control, not secure daemon service.
Comment 4 by Unknown User, Aug 23, 2006
Judson, I respectfully disagree with some of your comment. Foreground service shouldn't disappear just because background service is requested. Not all platforms can use runit or daemontools. Mac OS X has its own beast called launchd, which like runit, requires the daemon to stay in the foreground. Windows... well... I don't have a whole lot of experience with Windows to comment. However, as a systems administrator, I don't relish the idea of ripping out my existing sysvinit setup just to run monotone as a "reliable server". Where I disagree with you is in your last comment, infering that monotone should not be a secure daemon service. It already is. That's what the whole "monontone serve" command is about, and really one of the key features of monotone. This request is simply to finish fleshing out a service it already provides. One of the things holding it back was it's signal handling. That is getting cleaned up now. It's really not that much of a step to providing a proper backgrounding method to the application. i.e. fork, fork whee!
Comment 5 by Unknown User, Aug 23, 2006
Chad, I'm afraid you misunderstood me. I wouldn't propose that monotone should not have a background switch, or suggest that it's not a secure service. But the fact that monotone currently runs in the foreground when serving is a feature I very much like, and wouldn't want _replaced_.