SYSTEMD-RUN(1) systemd-run SYSTEMD-RUN(1)NAME
systemd-run - Run programs in transient scope or service units
SYNOPSIS
systemd-run [OPTIONS...] COMMAND [ARGS...]
DESCRIPTION
systemd-run may be used to create and start a transient .service or a
.scope unit and run the specified COMMAND in it.
If a command is run as transient service unit, it will be started and
managed by the service manager like any other service, and thus show up
in the output of systemctl list-units like any other unit. It will run
in a clean and detached execution environment. systemd-run will start
the service asynchronously in the background and immediately return.
If a command is run as transient scope unit, it will be started
directly by systemd-run and thus inherit the execution environment of
the caller. It is however managed by the service manager similar to
normal services, and will also show up in the output of systemctl
list-units. Execution in this case is synchronous, and execution will
return only when the command finishes.
OPTIONS
The following options are understood:
-h, --help
Prints a short help text and exits.
--version
Prints a short version string and exits.
--user
Talk to the service manager of the calling user, rather than the
service manager of the system.
--system
Talk to the service manager of the system. This is the implied
default.
--scope
Create a transient .scope unit instead of the default transient
.service unit.
--unit=
Use this unit name instead of an automatically generated one.
--description=
Provide description for the unit. If not specified, the command
itself will be used as a description. See Description= in
systemd.unit(5).
--slice=
Make the new .service or .scope unit part of the specified slice,
instead of the system.slice.
--remain-after-exit
After the service's process has terminated, keep the service around
until it is explicitly stopped. This is useful to collect runtime
information about the service after it finished running. Also see
RemainAfterExit= in systemd.service(5).
--send-sighup
When terminating the scope unit, send a SIGHUP immediately after
SIGTERM. This is useful to indicate to shells and shell-like
processes that the connection has been severed. Also see
SendSIGHUP= in systemd.kill(5).
All command-line arguments after the first non-option argument become
part of the commandline of the launched process. If a command is run as
service unit, its first argument needs to be an absolute binary path.
EXIT STATUS
On success, 0 is returned, a non-zero failure code otherwise.
EXAMPLE
The following command will log the environment variables provided by
systemd to services:
# systemd-run env
Running as unit run-19945.service.
# journalctl -u run-19945.service
Sep 08 07:37:21 bupkis systemd[1]: Starting /usr/bin/env...
Sep 08 07:37:21 bupkis systemd[1]: Started /usr/bin/env.
Sep 08 07:37:21 bupkis env[19948]: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
Sep 08 07:37:21 bupkis env[19948]: LANG=en_US.UTF-8
Sep 08 07:37:21 bupkis env[19948]: BOOT_IMAGE=/vmlinuz-3.11.0-0.rc5.git6.2.fc20.x86_64
SEE ALSOsystemd(1), systemctl(1), systemd.unit(5), systemd.service(5),
systemd.scope(5), systemd.slice(5).
systemd 208SYSTEMD-RUN(1)