X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsystemd-run.xml;h=cc8a68a0227dc369b5f05dfe90ae3c7c40719121;hp=4ced9bfc00b5d1233d560291e97a5793cb751bdd;hb=2614202b517790d1d11319dce830a9bdcca37f00;hpb=f09114bcc7dc9d4699e6ae41150056256bfbabb2;ds=sidebyside diff --git a/man/systemd-run.xml b/man/systemd-run.xml index 4ced9bfc0..cc8a68a02 100644 --- a/man/systemd-run.xml +++ b/man/systemd-run.xml @@ -44,7 +44,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 +60,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. @@ -92,16 +107,37 @@ along with systemd; If not, see . - Talk to the systemd manager of the calling - user. + Talk to the service manager of the calling user, + rather than the service manager of the system. + + + + + Execute operation + remotely. Specify a hostname, or + username and hostname separated by @, + to connect to. This will use SSH to + talk to the remote machine manager + instance. + + + + + + + Execute operation on a + local container. Specify a container + name to connect to. + + - Create a .scope unit instead of + Create a transient .scope unit instead of the default transient .service unit. @@ -132,11 +168,37 @@ along with systemd; If not, see . instead of the system.slice. + + + + + 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.service5. + + + + + + + + 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.kill5. + + + 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 +208,33 @@ along with systemd; If not, see . 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 Also systemd1, + systemctl1, systemd.unit5, systemd.service5, systemd.scope5, - systemd.slice5. + systemd.slice5, + machinectl1