systemd.scope - Scope unit configuration
Scope units are not configured via unit configuration files, but are only
created programmatically using the bus interfaces of systemd. They are named
similar to filenames. A unit whose name ends in ".scope" refers to a
scope unit. Scopes units manage a set of system processes. Unlike service
units, scope units manage externally created processes, and do not fork off
processes on its own.
The main purpose of scope units is grouping worker processes of a
system service for organization and for managing resources.
systemd-run --scope may be used to easily
launch a command in a new scope unit from the command line.
See the New Control Group Interfaces for an introduction
on how to make use of scope units from programs.
Note that, unlike service units, scope units have no
"main" process: all processes in the scope are equivalent. The
lifecycle of the scope unit is thus not bound to the lifetime of one
specific process, but to the existence of at least one process in the scope.
This also means that the exit statuses of these processes are not relevant
for the scope unit failure state. Scope units may still enter a failure
state, for example due to resource exhaustion or stop timeouts being
reached, but not due to programs inside of them terminating uncleanly. Since
processes managed as scope units generally remain children of the original
process that forked them off, it is also the job of that process to collect
their exit statuses and act on them as needed.
The following dependencies are added unless DefaultDependencies=no is
•Scope units will automatically have dependencies
of type Conflicts= and Before= on shutdown.target. These ensure
that scope units are removed prior to system shutdown. Only scope units
involved with early boot or late system shutdown should disable
Scope files may include a [Scope] section, which carries information about the
scope and the units it contains. A number of options that may be used in this
section are shared with other unit types. These options are documented in
systemd.kill(5) and systemd.resource-control(5). The options
specific to the [Scope] section of scope units are the following:
Configures a maximum time for the scope to run. If this
is used and the scope has been active for longer than the specified time it is
terminated and put into a failure state. Pass "infinity" (the
default) to configure no runtime limit.
- New Control Group Interfaces