Linux init 進程是系統初始化進程,比較古老了,所以出現了一些新的替代方案:
Upstart – A init replacement daemon implemented in Ubuntu GNU/Linux and designed to start process asynchronously.
Epoch – A init replacement daemon built around simplicity and service management, designed to start process single-threaded.
Mudar – A init replacement daemon written in Python, implemented on Pardus GNU/Linux and designed to start process asynchronously.
systemd – A init replacement daemon designed to start process in parallel, implemented in a number of standard distribution – Fedora, OpenSuSE, Arch, RHEL, CentOS, etc.
比較出名的就是 systemd,他的優缺點如下:
Features of systemd
- Clean, stateforward and efficient design.
- Simpler boot process.
- Concurrent and parallel processing at boot.
- Better API.
- Simple Unit Syntax.
- Ability to remove optional components.
- Low memory footprints.
- Improved technique to express dependencies.
- Initialization instruction written in config file and not in shell script.
- Make use of Unix Domain Socket.
- Job Scheduling using systemd Calendar Timers.
- Event Logging with journald.
- Choice of logging System events with systemd as well as syslog.
- Logs are stored in binary file.
- systemd state can be preserved to be called later in future.
- Track process using kernel’s cgroup and not PID.
- Users login managed by systemd-logind.
- Better integration with Gnome for interoperability.
Bottlenecks systemd
- Everything at one place.
- Not POSIX standard.
英文好的筒子可以直接去看原文,很好很強大: