X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=man%2Fsystemd-run.xml;h=0c9d13dd2dfbb9e01ed17379003dc2e961851774;hb=f280bcfb21aacce03abf17b3ad732c1351df42b9;hp=4ced9bfc00b5d1233d560291e97a5793cb751bdd;hpb=f09114bcc7dc9d4699e6ae41150056256bfbabb2;p=elogind.git
diff --git a/man/systemd-run.xml b/man/systemd-run.xml
index 4ced9bfc0..0c9d13dd2 100644
--- a/man/systemd-run.xml
+++ b/man/systemd-run.xml
@@ -21,7 +21,8 @@ You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see .
-->
-
+systemd-run
@@ -44,7 +45,7 @@ along with systemd; If not, see .
systemd-run
- Run programs as volatile systemd units
+ Run programs in transient scope or service units
@@ -60,11 +61,26 @@ along with systemd; If not, see .
Description
- systemd-run may be used
- create a transient .service unit
- or a .scope unit and launch the
- specified COMMAND as part
- of this unit.
+ 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.
@@ -73,35 +89,11 @@ along with systemd; If not, see .
The following options are understood:
-
-
-
-
- Prints a short help
- text and exits.
-
-
-
-
-
- Prints a short version
- string and exits.
-
-
-
-
-
-
- Talk to the systemd manager of the calling
- user.
-
-
-
- Create a .scope unit instead of
+ Create a transient .scope unit instead of
the default transient .service unit.
@@ -114,12 +106,24 @@ along with systemd; If not, see .
generated one.
+
+
+
+
+ Sets a unit property for the scope or service
+ unit that is created. This takes an assignment in the same
+ format as
+ systemctl1's
+ set-property command.
+
+
+
- Provide description for the unit. If not
- specified, the command itself will be used as a description.
- See Description= in
+ 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.unit5.
@@ -132,11 +136,88 @@ along with systemd; If not, see .
instead of the system.slice.
+
+
+
+
+ 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.service5.
+
+
+
+
+
+
+
+ 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.kill5.
+
+
+
+
+
+
+
+ Sets the service type. Also see
+ Type= in
+ systemd.service5. This
+ option has no effect in conjunction with
+ . Defaults to
+ simple.
+
+
+
+
+
+
+
+ Runs the service process under the UNIX user
+ and group. Also see User= and
+ Group= in
+ systemd.exec5.
+
+
+
+
+
+
+ Runs the service process with the specified
+ nice level. Also see Nice= in
+ systemd.exec5.
+
+
+
+
+
+
+ Runs the service process with the specified
+ environment variables set. Also see
+ Environment= in
+ systemd.exec5.
+
+
+
+
+
+
+
+
+
+ All command-line arguments after the first non-option
argument become part of the commandline of the launched
- process.
+ process. If a command is run as service unit, its first argument
+ needs to be an absolute binary path.
@@ -146,14 +227,43 @@ along with systemd; If not, see .
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
+ updatedb8
+ tool, but lowers the block IO weight for it to 10. See
+ systemd.resource-control5
+ for more information on the BlockIOWeight=
+ property.
+
+ # systemd-run -p BlockIOWeight=10 updatedb
+
+
See Alsosystemd1,
+ systemctl1,
systemd.unit5,
systemd.service5,
systemd.scope5,
- systemd.slice5.
+ systemd.slice5,
+ systemd.exec5,
+ systemd.resource-control5,
+ machinectl1