services:system_and_service_managers
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
services:system_and_service_managers [2016/07/06 13:37] – peter | services:system_and_service_managers [2020/07/26 13:10] (current) – old revision restored (2016/07/06 14:52) 173.249.63.71 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Services - System and service managers ====== | ====== Services - System and service managers ====== | ||
+ | |||
+ | Linux provides many System and service managers. | ||
+ | |||
+ | A good init system should start only what is needed, and that on-demand. Either lazily or in parallel and in advance. | ||
===== init ===== | ===== init ===== | ||
+ | |||
+ | System V style init script **/ | ||
+ | |||
+ | **Disadvantages of init** | ||
+ | |||
+ | * The traditional System V init system had limitations. | ||
+ | * Could not start services in parallel. | ||
- | ===== Using invoke-rc.d ===== | + | ===== invoke-rc.d ===== |
**invoke-rc.d** is a wrapper around running the System V style init script **/ | **invoke-rc.d** is a wrapper around running the System V style init script **/ | ||
Line 14: | Line 25: | ||
According to the man page, all access to init scripts by Debian packages' | According to the man page, all access to init scripts by Debian packages' | ||
- | * [https:// | + | * https:// |
- | * [http:// | + | * http:// |
===== service ===== | ===== service ===== | ||
- | **service** runs a System V init script in as predictable environment as possible, removing most environment variables and with current working directory set to /. | + | **service** runs a System V init script in as predictable |
**service** works in most Linux distributions including Debian and Ubuntu. | **service** works in most Linux distributions including Debian and Ubuntu. | ||
Line 31: | Line 42: | ||
**systemctl** only works on **systemd** based Ubuntu like version 16.04 LTS and above. | **systemctl** only works on **systemd** based Ubuntu like version 16.04 LTS and above. | ||
- | systemd jobs start when they have to. | ||
+ | **Advantages of systemd** | ||
- | * [http:// | + | * Every process started gets its own cgroup or a particular cgroup. |
- | * [https:// | + | * Pre-creation of sockets and file handles for services, similar to how xinetd does for it's services, allowing dependent services to start faster. |
+ | * Fewer processes run to actually start a service. | ||
+ | * systemd jobs start when they have to. | ||
+ | |||
+ | |||
+ | **Disadvantages of systemd** | ||
+ | |||
+ | * All startup scripts need to be rewritten. | ||
+ | * There' | ||
+ | |||
+ | |||
+ | **References** | ||
+ | |||
+ | * http:// | ||
+ | * https:// | ||
Line 47: | Line 72: | ||
Upstart jobs start as soon as they can. | Upstart jobs start as soon as they can. | ||
- | |||
services/system_and_service_managers.1467812268.txt.gz · Last modified: 2020/07/15 09:30 (external edit)