ServiceD
About
ServiceD is a full featured init system for UNIX systems fully adopting the client/server model in it's core.
It's completely written in the C++ language and makes extensive use
of the POSIX threads.
The client/server model is implemented using inet stream sockets.
ServiceD should be read as service d.
Features
- Solves service dependencies.
- Starts services in parallel for maximum efficiency and to cut lots of boot time.
- Services are described in XML.
- Every action is done using the client/server model.
- Can respawn daemon services.
- Powerful logging system.
- Every service has it's own log file.
- Some vital actions are done via plugins (like mounting filesystems).
- Three plugins: alpha, omega, panic.
- Alpha plugin: is run before all services are started (used for mounting filesystems).
- Omega plugin: is run after all services are stopped (used for umounting filesystems).
- Panic plugin: is run when something is wrong (segmentation fault, filesystem errors).
Download
Please refer to the Sourceforge Project page
PS: At this time only subversion checkouts are possible. At some time in the future I will release
the first serviced version and using subversion to experiment the software will not be needed anymore.
Roadmap
Some things I'd like to implement in serviced:
- Make the first release ;-)
- Cron support (service starting at a certain time).
- Obsolete the inetd daemon (serviced will do this job).
Copyright (C) 2006 Flavio Cruz (ei05011 at fe.up.pt)