X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsystemd-run.xml;h=28a9878b8360718cb6f2d48711bd7548568a43ef;hp=4ced9bfc00b5d1233d560291e97a5793cb751bdd;hb=f509443af5974dd6e7a816c4c7f806bfd01d629b;hpb=f09114bcc7dc9d4699e6ae41150056256bfbabb2 diff --git a/man/systemd-run.xml b/man/systemd-run.xml index 4ced9bfc0..28a9878b8 100644 --- a/man/systemd-run.xml +++ b/man/systemd-run.xml @@ -1,4 +1,4 @@ - + @@ -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. + All command line arguments after the first non-option + argument become part of the command line of the launched + 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 Also systemd1, + systemctl1, systemd.unit5, systemd.service5, systemd.scope5, - systemd.slice5. + systemd.slice5, + systemd.exec5, + systemd.resource-control5, + machinectl1