frc: Fast RC
frc is a C replacement for the script /etc/init.d/rc.
Like the conventional rc script, frc handles the
startup of services when init enters different runlevels.
However, frc also implements some extra features
Features
- Parallelisation:frc will start services scripts which begin
with the same prefix at the same time. For example, frc will
run S20foo and S20bar concurrently, but only
start S30baz after both have completed. This ensures that
a service which depends on a previous one is not started too early,
a risk which exists if one just adds an ampersand to all initscripts
- Interactive Supervision:frc makes it possible
for a console user to interrupt initscripts which
have hung (eg failed NFS mounts, blocked name resolution) and
enter a system maintenance mode. This mode is only available after
the root password has been entered
- Initscript Simplification:frc reduces
the complexity of initscripts. Normally initscripts include
support functions to add colour their output. frc takes
over this function: All lines are prefixed with the name of
the initscript, while output to standard error is highlighted (usually
in red) and the exit code of the script (success, failure) is also
printed in colour. It is possible for an initscript running
under frc to emit no output of its own and rely on
frc to provide visual feedback via its exit code
- Extended Error Handling:If an initscript returns
an exit code greater than one, startup will pause and
a password protected maintenance prompt will be displayed
Note that it may be necessary to edit some initscripts, in particular
those which expect to use an interactive tty, before running
them under frc
Screenshot
The screenshot shows a dummy set of initscripts which are
included in the frcsource package. Control-C has
been pressed to interrupt the startup, and the red number is
a countdown in seconds until bootup resumes
Download
frc is released under the GNU General Public License
up to projects