1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-28 03:25:31 +03:00
systemd/docs
Henri Chain 596e447076 Reintroduce ExitType
This introduces `ExitType=main|cgroup` for services.
Similar to how `Type` specifies the launch of a service, `ExitType` is
concerned with how systemd determines that a service exited.

- If set to `main` (the current behavior), the service manager will consider
  the unit stopped when the main process exits.

- The `cgroup` exit type is meant for applications whose forking model is not
  known ahead of time and which might not have a specific main process.
  The service will stay running as long as at least one process in the cgroup
  is running. This is intended for transient or automatically generated
  services, such as graphical applications inside of a desktop environment.

Motivation for this is #16805. The original PR (#18782) was reverted (#20073)
after realizing that the exit status of "the last process in the cgroup" can't
reliably be known (#19385)

This version instead uses the main process exit status if there is one and just
listens to the cgroup empty event otherwise.

The advantages of a service with `ExitType=cgroup` over scopes are:
- Integrated logging / stdout redirection
- Avoids the race / synchronisation issue between launch and scope creation
- More extensive use of drop-ins and thus distro-level configuration:
  by moving from scopes to services we can have drop ins that will affect
  properties that can only be set during service creation,
  like `OOMPolicy` and security-related properties
- It makes systemd-xdg-autostart-generator usable by fixing [1], as obviously
  only services can be used in the generator, not scopes.

[1] https://bugs.kde.org/show_bug.cgi?id=433299
2021-11-08 10:15:23 +01:00
..
_data docs: beef up entrypoint documentation page 2019-12-11 10:53:14 +01:00
_includes docs: mark spdx headers with the default license to website files 2021-10-18 09:43:18 +02:00
_layouts docs: mark spdx headers with the default license to website files 2021-10-18 09:43:18 +02:00
assets docs: mark spdx headers with the default license to website files 2021-10-18 09:43:18 +02:00
fonts docs: make it pretty 2019-12-11 17:04:20 +01:00
sysvinit meson: use jinja2 for README 2021-05-19 10:24:43 +09:00
var-log docs: move /var/log/README to a tmpfiles.d symlink 2021-07-21 17:29:06 +02:00
_config.yml docs: mark spdx headers with the default license to website files 2021-10-18 09:43:18 +02:00
.gitattributes docs: mark spdx headers with the default license to website files 2021-10-18 09:43:18 +02:00
.gitignore gitignore: add jekyll cache directory 2021-06-24 10:20:29 +02:00
ARCHITECTURE.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
AUTOMATIC_BOOT_ASSESSMENT.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
BLOCK_DEVICE_LOCKING.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
BOOT_LOADER_INTERFACE.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
BOOT_LOADER_SPECIFICATION.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
CGROUP_DELEGATION.md Merge pull request #20849 from keszybz/man-page-tags-and-links 2021-09-27 12:09:48 +02:00
CNAME Create CNAME 2018-10-12 13:48:34 +02:00
CODE_OF_CONDUCT.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
CODE_QUALITY.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
CODING_STYLE.md CODING_STYLE: allow joined variable declarations and function calls 2021-11-03 10:30:36 +01:00
CONTAINER_INTERFACE.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
CONTRIBUTING.md docs: add guidelines w.r.t. compatibility to docs/CONTRIBUTING.md 2021-10-12 11:09:58 +01:00
CONVERTING_TO_HOMED.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
COREDUMP_PACKAGE_METADATA.md docs/COREDUMP_PACKAGE_METADATA: ELF section should be allocated and 0-padded 2021-10-27 12:29:31 +02:00
DESKTOP_ENVIRONMENTS.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
DISCOVERABLE_PARTITIONS.md docs: document the new Verity signature partition type, and its UUIDs 2021-09-28 17:03:39 +02:00
DISTRO_PORTING.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
ENVIRONMENT.md docs: document $PASSWORD in ENVIRONMENT.md 2021-10-28 10:51:12 +02:00
favicon.png docs: make it pretty 2019-12-11 17:04:20 +01:00
favicon.svg docs: mark spdx headers with the default license to website files 2021-10-18 09:43:18 +02:00
GROUP_RECORD.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
GVARIANT-SERIALIZATION.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
HACKING.md doc: fix typo in command 2021-10-28 03:57:24 +09:00
HOME_DIRECTORY.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
index.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
INITRD_INTERFACE.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
JOURNAL_FILE_FORMAT.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
JOURNAL_NATIVE_PROTOCOL.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
PASSWORD_AGENTS.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
PORTABILITY_AND_STABILITY.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
PORTABLE_SERVICES.md Typos found by codespell 2021-10-20 22:20:18 +09:00
PREDICTABLE_INTERFACE_NAMES.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
RANDOM_SEEDS.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
RELEASE.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
RESOLVED-VPNS.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
ROOT_STORAGE_DAEMONS.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
SECURITY.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
style.css docs: mark spdx headers with the default license to website files 2021-10-18 09:43:18 +02:00
TEMPORARY_DIRECTORIES.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
TESTING_WITH_SANITIZERS.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
TRANSIENT-SETTINGS.md Reintroduce ExitType 2021-11-08 10:15:23 +01:00
TRANSLATORS.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
UIDS-GIDS.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
USER_GROUP_API.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
USER_NAMES.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00
USER_RECORD.md docs: document what integer range we expect from JSON parsers 2021-10-28 14:15:46 +01:00
USERDB_AND_DESKTOPS.md docs: add spdx tags to all .md files 2021-09-27 09:19:02 +02:00