InitNG core components
Clone or download
Gilles Cannenterre Ismael Luceno
Gilles Cannenterre and Ismael Luceno Fix signal management
Signed-off-by: Ismael Luceno <>
Latest commit a54d775 Aug 28, 2017


Next Generation Init System ( initng )

1    Introduction
1.1    Developers
2    Initng: An Overview
2.1    The Next Generation Control (ngc)
3    How to get initng
3.1    How to Install
3.2    Caveats/Known Issues
4    Terms of Licensing
5    Development

1 Introduction

Initng is a full replacement of the old and in many ways deprecated sysvinit
tool. It is designed with speed in mind, doing as much as possible
asynchronously. In other words: It will boot your unix-system much faster, and
give you more control and statistics over your system.

The basic premise is that startup commands can be launched as soon as their
dependencies are met. This limits the effect of bottlenecks like I/O operations;
while one program is performing I/O, another can be utilizing the processor.
Initng tracks the individual service dependencies in its configuration files.

It is designed to use a minimum of system resources and to boot your system
quickly and safely.

Website:        <>
Mailing list:   <>

This package currently includes:

- initng       sysvinit replacement; handles system & service control
- ngc          an application for controlling initng
- modules      initng uses modules to provide some functions

1.1 Developers

You can see the full list of developers in the AUTHORS file.

2 Initng: An Overview

On boot, initng will be started as the first process (pid = 1) by the kernel.
At first, initng will parse configuration files located in /etc/initng for
critical information such as runlevel and service data. After that, all services
required by the default runlevel will be started as soon as their dependencies
are met, allowing services to run in parallel.  This asynchronous execution can
dramatically improve boot time by better utilizing the system resources
(especially in the case of multiprocessor systems).

Service monitoring is also available, automatically respawing daemons that die
without being explicitly shutdown, a critical feature for server systems that
require constant uptime.

The system gives complete control over how your system boots in the traditional
services and runlevels model.  Startup status is presented in a percentile
fashion, as well as the launch time for each individual service.  This allows
easier tracking of what services add the most time to startup.

2.1 The Next Generation Control (ngc)

Using the included ngc control program to communicate with initng in a two-way
communication, checking the status of all services, browse history, bring
services up and down, reboot or halt, and change runlevels.

Executing 'ngc -h' will display the command's help and description.  'ngc -H'
displays extended help.

3 How to get initng

You can download InitNG sources from:
 * <>
 * <>

3.1 How to Install

For installation instructions, see the doc/INSTALL file.

3.2 Caveats/Known Issues

InitNG is somewhat stable now, at least on x86. If you have any other
achitecture, please try it and help the developers to make it work on your

4 Terms of Licensing

The full package is licensed under the GNU Public License (GPL) version 3.

The full text of the GPL is located in this package and can be retireved from
<> in a variety of formats.

5 Development

Contact the mailing list: