X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsystemd.service.xml;h=8f455ea4c721fd74874fba38c35cd12568baa43c;hp=962388342c56e33413a5d641d1083cc1b0b2322a;hb=f72192c0c91b3adc92dc34b9ebead51dd215d2b2;hpb=b708e7cea941538bfd5e20ce0a723c19b7da7d1d diff --git a/man/systemd.service.xml b/man/systemd.service.xml index 962388342..8f455ea4c 100644 --- a/man/systemd.service.xml +++ b/man/systemd.service.xml @@ -119,7 +119,7 @@ start-up type for this service unit. One of , , - , + , , . @@ -129,25 +129,27 @@ configured with ExecStart= is the main process of the service. In this - mode, communication channels must be - installed before the daemon is started - up (e.g. sockets set up by systemd, - via socket activation), as systemd - will immediately proceed starting - follow-up units. + mode, if the process offers + functionality to other processes on + the system its communication channels + should be installed before the daemon + is started up (e.g. sockets set up by + systemd, via socket activation), as + systemd will immediately proceed + starting follow-up units. If set to it is expected that the process configured with ExecStart= - will start up and call - fork(). The - parent process is expected to finish - when start-up is complete and all - communication channels set up. The - child continues to run as the main - daemon process. This is the behaviour - of traditional UNIX daemons. If this + will call fork() + as part of its start-up. The parent process is + expected to exit when start-up is + complete and all communication + channels set up. The child continues + to run as the main daemon + process. This is the behaviour of + traditional UNIX daemons. If this setting is used, it is recommended to also use the PIDFile= option, so @@ -158,11 +160,11 @@ exits. Behaviour of - is similar + is similar to , however it is expected that the process has to exit before systemd starts follow-up - units. ValidNoProcess= + units. RemainAfterExit= is particularly useful for this type of service. @@ -176,7 +178,7 @@ will proceed starting follow-up units after the D-Bus bus name has been acquired. Service units with this - option configured implicitly have + option configured implicitly gain dependencies on the dbus.target unit. @@ -193,17 +195,17 @@ notification message has been sent. If this option is used NotifyAccess= (see - below) must be set to open access to + below) should be set to open access to the notification socket provided by systemd. If NotifyAccess= is not - set, it will be implicitly set to + set, it will implicitly be set to . - ValidNoProcess= + RemainAfterExit= Takes a boolean value that specifies whether the service @@ -250,21 +252,31 @@ arguments for the process. It is mandatory to set this option for all services. This option may not be - specified more than once. Optionally, - if the absolute file name is prefixed - with @, the second - token will be passed as + specified more than once, except when + Type=oneshot is + used in which case more than one + ExecStart= line is + accepted which are then invoked one by + one, sequentially in the order they + appear in the unit file. + + Optionally, if the absolute file + name is prefixed with + @, the second token + will be passed as argv[0] to the executed process, followed by the further arguments specified. If the first token is prefixed with - - an error code of + - an exit code of the command normally considered a - failure is ignored and considered - success. If both - - and @ are used for - the same command the latter must - preceed the latter. Unless + failure (i.e. non-zero exit status or + abormal exit due to signal) is ignored + and considered success. If both + - and + @ are used for the + same command the former must preceed + the latter. Unless Type=forking is set, the process started via this command line will be considered the @@ -274,10 +286,17 @@ systemd.unit5. On top of that basic environment variable substitution is supported, where - $(FOO) is replaced - by the value of the environment - variable of the same - name. + ${FOO} is replaced + by the string value of the environment + variable of the same name. Also + $FOO may appear as + separate word on the command line in + which case the variable is replaced by + its value split at whitespaces. Note + that the first argument (i.e. the + binary to execute) may not be a + variable, and must be a literal and + absolute path name. @@ -290,7 +309,7 @@ command lines may be concatenated in a single directive, by seperating them by semicolons (these semicolons must - be passed as seperate words). In that + be passed as separate words). In that case, the commands are executed one after the other, serially. Alternatively, these @@ -409,17 +428,17 @@ Configures whether the main service process shall be restarted when it exists. Takes one of - , - or - . If - set to (the + , + or + . If + set to (the default) the service will not be restarted when it exits. If set to - it + it will be restarted only when it exited cleanly, i.e. terminated with an exit code of 0. If set to - the + the service will be restarted regardless whether it exited cleanly or not, or got terminated abnormally by a @@ -583,6 +602,33 @@ Type=notify (see above). + + Sockets= + Specifies the name of + the socket units this service shall + inherit the sockets from when the + service (ignoring the different suffix + of course) is started. Normally it + should not be necessary to use this + setting as all sockets whose unit + shares the same name as the service + are passed to the spawned + process. + + Note that the same socket may be + passed to multiple processes at the + same time. Also note that a different + service may be activated on incoming + traffic than inherits the sockets. Or + in other words: The + Service= setting of + .socket units + doesn't have to match the inverse of the + Sockets= setiing of + the .service it + refers to. + +