[Mono-list] System.ServiceProcess.ServiceBase

Miguel de Icaza miguel@ximian.com
09 Apr 2003 12:14:40 -0400


> Sure that is one way of doing things, but my proposal is to have a single 
> daemon (I'm calling it 'monod') starting/tracking/managing all mono 
> services. Somewhat similar to services.exe in Win2000, that manages 
> services, each one started in a svchost.exe process.

I like this plan myself.

> The monod daemon would be started in the SysV style. But each service would 
> be started on a dedicated process created by monod (no need to fork itself).

Yes, like this idea as well.  But I would make monod auto-launched when
some of the services api request the process to be started as well.  So
it is transparent to the user.

To keep monod small, I would write this in C myself, and have a trivial
RPC mechanism to communicate with it.  Since most people wont have Mono
daemons, I would not want to have the Mono runtime running all the time
to fulfill one or two requests that might barely happen.

> - A GUI for starting/stopping services is easier to construct by talking 
> directly to monod than having to read/interpret scattered files (etc/conf, 
> PIDs, etc...)

Provided you have an RPC mechanism to monod, there is a lot of
flexibility here.