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:

       --scope
           Create a transient .scope unit instead of the default transient
           .service unit.

       --unit=
           Use this unit name instead of an automatically generated one.

       --property=, -p
           Sets a unit property for the scope or service unit that is created.
           This takes an assignment in the same format as systemctl(1)'s
           set-property command.

       --description=
           Provide a description for the service or scope 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 or scope 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 or service 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).

       --service-type=
           Sets the service type. Also see Type= in systemd.service(5). This
           option has no effect in conjunction with --scope. Defaults to
           simple.

       --uid=, --gid=
           Runs the service process under the UNIX user and group. Also see
           User= and Group= in systemd.exec(5).

       --nice=
           Runs the service process with the specified nice level. Also see
           Nice= in systemd.exec(5).

       --setenv=
           Runs the service process with the specified environment variables
           set. Also see Environment= in systemd.exec(5).

       --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.

       -H, --host=
           Execute the operation remotely. Specify a hostname, or a username
           and hostname separated by "@", to connect to. The hostname may
           optionally be suffixed by a container name, separated by ":", which
           connects directly to a specific container on the specified host.
           This will use SSH to talk to the remote machine manager instance.
           Container names may be enumerated with machinectl -H HOST.

       -M, --machine=
           Execute operation on a local container. Specify a container name to
           connect to.

       -h, --help
           Print a short help text and exit.

       --version
           Print a short version string and exit.

       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.

EXAMPLES
       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

       The following command invokes the updatedb(8) tool, but lowers the
       block IO weight for it to 10. See systemd.resource-control(5) for more
       information on the BlockIOWeight= property.

           # systemd-run -p BlockIOWeight=10 updatedb

SEE ALSO
       systemd(1), systemctl(1), systemd.unit(5), systemd.service(5),
       systemd.scope(5), systemd.slice(5), systemd.exec(5), systemd.resource-
       control(5), machinectl(1)



systemd 215                                                     SYSTEMD-RUN(1)
