Issue 40: Daemonize Monotone

Reported by Unknown User, Mar 24, 2006

(This entry was imported from the savannah tracker, original 

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.

  $ monotone -d DBPATH --syslog serve --background 

monotone version:
monotone 0.24 (base revision: 
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.

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 

bug #12947 overview: Allow servers to continuously sync with each 

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 

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_.

Created: 17 years 8 months ago by Unknown User

Updated: 17 years 3 months ago

Status: New

Type:Feature Request

Quick Links:    -     Downloads    -     Documentation    -     Wiki    -     Code Forge    -     Build Status