Init
This page lists available Init systems as alternative to systemd
Init is the first process started during system boot. It is a a daemon process that continues running until the system is shut down. Init is the direct or indirect ancestor of all other processes, and automatically adopts all orphaned processes. It is started by the kernel using a hard-coded filename; if the kernel is unable to start it, panic will result. Init is typically assigned process identifier 1.
The init scripts (or rc) are launched by the init process to guarantee basic functionality on system start and shutdown. This includes (un)mounting of file systems and launching of daemons. A service manager takes this one step further by providing active control over launched processes, or process supervision. An example is to monitor for crashes and restart processes accordingly.
These components combine to the init system. Some inits include the service manager in the init process, or have init scripts in close relation to them. These inits are below referred to as integrated, though entries in different categories may explicitely depend on each other.
A nice (but still incomplete) overview of init systems can be found in this blog entry.
Contents |
Alternatives to systemd
Init (integrated)
| System | Description | Last release |
|---|---|---|
| procd | OpenWrt init and process management daemon with ubus integration. | 2016-06-20 |
| Epoch | Single-threaded init system designed for minimal footprint, compatibility and unified configuration. | 2015-06-23 |
| finit | Fast and extensible init, originally based on EeePC fastinit. | 2015-10-16 |
| initng | Dependency-based init system with parallelization and asynchronous start. | 2007-11-11 |
| eINIT | Can supervise processes and start them asynchronously, possibly without shell scripts. | 2007-12-18 |
| nosh | A suite of system-level utilities for initializing and running a BSD or Linux system, for managing daemons, for managing terminals, and for managing logging. | 2016-08-06 |
| runit | UNIX init scheme with service supervision, a replacement for SysVinit, and other init schemes. | 2014-08-10 |
| Upstart | Event-based init system which handles starting, stopping and supervising of tasks and services. This project is dead. | 2014-09-04 |
| uselessd | A fork of systemd v208. This project is dead. | 2014-11-16 |
| System XVI | Modular, self-healing, and interface-oriented service manager and init system. | 2015-11-07 |
| minit | A very small init with process supervision, service dependency ordering and parallel service activation. | 2005 ? |
| s6-rc | A service manager for s6-based systems, i.e. a suite of programs that can start and stop services, both long-running daemons and one-time nitialization scripts, in the proper order according to a dependency tree. | 2016-04-14 |
| anopa | An init system/service manager built around s6 supervision suite | 2016-01-10 |
Inits
| System | Description | Last release |
|---|---|---|
| busybox init | BusyBox init. | 2015-10-24 |
| ninit | Fork from minit. See ninit Instructions. | 2010-01-16 |
| myinit | Simple init with parallel execution and dependencies via reference counting (`start' and `stop' commands). | 2011-07-11 |
| sinit | Simple init initially based on Rich Felker’s minimal init. | 2015-06-16 |
| SysVinit | Traditional System V init. | 2010-04-14 |
| uinit | Smallest init possible. | 2015-09-25 |
Service managers
| Program | Description | Last release |
|---|---|---|
| restartd | Debian restartd - A process-restarting daemon | 2013-01-11 |
| daemontools | Collection of tools for managing UNIX services. | 2001-07-12 |
| daemontools encore | enhanced version of daemontools | 2014-04-02 |
| GNU Shepherd | A service manager written in Guile scheme that is used as PID 1 by GuixSD Linux. | 2016-01-28 |
| Monit | Monit is a process supervision tool for Unix and Linux. With monit, system status can be viewed directly from the command line, or via the native HTTP(S) web server. | 2015-10-22 |
| OpenRC | Dependency-based rc system that works with the system-provided init, normally SysVinit. | 2015-10-14 |
| perp | Persistent process (service) supervisor and managment framework for UNIX. | 2013-01-11 |
| s6 | Small suite of programs for UNIX, designed to allow service supervision in the line of daemontools and runit. | 2016-04-14 |
| procer | mongrel2's process supervisor procer | 2014-03-18 |
| watchman | A not-so-simple service manager for Linux. | 2015-11-12 |
| Supervisor | A process control system written in Python. | 2016-02-06 |
This page is based on Init article at ArchLinux Wiki Content is available under GNU Free Documentation License 1.3 or later