X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsystemd.service.xml;h=0b5edb85603059229364f9f8dc4d00af9900c41d;hp=94a21d3fe3d99c2160611e590c15d70de69a2344;hb=bb242b7b5277f5db4a01be905f26eccd382ff1e0;hpb=c24eb49e6aecd6de2ad450083e826d4c9d9c75b6 diff --git a/man/systemd.service.xml b/man/systemd.service.xml index 94a21d3fe..0b5edb856 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,9 +178,9 @@ 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 + dbus.socket unit. Behaviour of @@ -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 @@ -213,6 +215,30 @@ + + GuessMainPID= + + Takes a boolean value + that specifies whether systemd should + try to guess the main PID of a service + should if it cannot be determined + reliably. This option is ignored + unless + is set and + is unset because for the other types + or with an explicitly configured PID + file the main PID is always known. The + guessing algorithm might come to + incorrect conclusions if a daemon + consists of more than one process. If + the main PID cannot be determined + failure detection and automatic + restarting of a service will not work + reliably. Defaults to + . + + + PIDFile= @@ -221,7 +247,11 @@ daemon. Use of this option is recommended for services where Type= is set to - . + . systemd will + read the PID of the main process of + the daemon after start-up of the + service. systemd will not write to the + file configured here. @@ -250,38 +280,59 @@ 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 + abnormal exit due to signal) is ignored + and considered success. If both + - and + @ are used for the + same command the former must precede + the latter. Unless Type=forking is set, the process started via this command line will be considered the main process of the daemon. The command line accepts % specifiers as described in - systemd.unit5. On - top of that basic environment variable - substitution is supported, where - ${FOO} is replaced - by the string value of the environment - variable of the same name. Also - $FOO may appear as - seperate word on the command line in - which case the variable is replaced by - its value split at - whitespaces. + systemd.unit5. + + On top of that basic environment + variable substitution is + supported. Use + ${FOO} as part of a + word, or as word of its own on the + command line, in which case it will be + replaced by the value of the + environment variable including all + whitespace it contains, resulting in a + single argument. Use + $FOO as a separate + word on the command line, in which + case it will be replaced by the value + of the environment variable split up + at whitespace, resulting in no or more + arguments. Note that the first + argument (i.e. the program to execute) + may not be a variable, and must be a + literal and absolute path + name. @@ -292,14 +343,14 @@ the command in ExecStart=. Multiple command lines may be concatenated in a - single directive, by seperating them + single directive, by separating 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 directives may be specified more than - once whith the same effect. However, + once with the same effect. However, the latter syntax is not recommended for compatibility with parsers suitable for XDG @@ -329,7 +380,7 @@ daemon, and may be used for command lines like the following: /bin/kill -HUP - $(MAINPID). + $MAINPID. @@ -353,7 +404,7 @@ requested. Specifier and environment variable substitution is supported (including - $(MAINPID), see + $MAINPID, see above). @@ -405,25 +456,52 @@ time span value such as "5min 20s". Pass 0 to disable the timeout logic. Defaults to - 60s. + 90s. + + + + WatchdogSec= + Configures the watchdog + timeout for a service. This is activated + when the start-up is completed. The service + must call + sd_notify3 + regularly with "WATCHDOG=1". If the time + between two such calls is larger than + the configured time then the service + enters a failure state. By setting + Restart= + to or + the service can + be restarted. Defaults to 0s, which + disables this feature. Restart= Configures whether the - main service process shall be restarted when - it exists. Takes one of - , - or - . If - set to (the - default) the service will not be - restarted when it exits. If set to - it - will be restarted only when it exited - cleanly, i.e. terminated with an exit - code of 0. If set to - the + main service process shall be + restarted when it exits. Takes one of + , + , + , + or + . If set to + (the default) the + service will not be restarted when it + exits. If set to + it will be + restarted only when it exited cleanly, + i.e. terminated with an exit code of + 0. If set to + it will be + restarted only when it exited with an + exit code not equalling 0, or when + terminated by a signal. If set to + it will be + restarted only if it exits due to + reception of an uncaught signal. If + set to the service will be restarted regardless whether it exited cleanly or not, or got terminated abnormally by a @@ -506,7 +584,6 @@ processes of this service shall be killed. One of , - , , . @@ -518,10 +595,6 @@ stop command (as configured with ExecStop=) is executed. If set to - only - the members of the process group of - the main service process are - killed. If set to only the main process itself is killed. If set to no process is @@ -533,20 +606,44 @@ group and the control group continues to exist after stop unless it is empty. Defaults to - . + . Processes will first be - terminated via SIGTERM. If then after - a delay (configured via the + terminated via SIGTERM (unless the + signal to send is changed via + KillSignal=). If + then after a delay (configured via the TimeoutSec= option) processes still remain, the termination request is repeated with - the SIGKILL signal. See + the SIGKILL signal (unless this is + disabled via the + SendSIGKILL= + option). See kill2 for more information. + + KillSignal= + Specifies which signal + to use when killing a + service. Defaults to SIGTERM. + + + + + SendSIGKILL= + Specifies whether to + send SIGKILL to remaining processes + after a timeout, if the normal + shutdown procedure left processes of + the service around. Takes a boolean + value. Defaults to "yes". + + + NonBlocking= Set O_NONBLOCK flag @@ -573,7 +670,7 @@ or . If no daemon status - updates are accepted by the service + updates are accepted from the service processes, all status update messages are ignored. If only service updates sent from the @@ -587,6 +684,60 @@ Type=notify (see above). + + Sockets= + Specifies the name of + the socket units this service shall + inherit the sockets from when the + service is started. Normally it + should not be necessary to use this + setting as all sockets whose unit + shares the same name as the service + (ignoring the different suffix of course) + 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= setting of + the .service it + refers to. + + + + FsckPassNo= + Set the fsck passno + priority to use to order this service + in relation to other file system + checking services. This option is only + necessary to fix ordering in relation + to fsck jobs automatically created for + all /etc/fstab + entries with a value in the fs_passno + column > 0. As such it should only be + used as option for fsck + services. Almost always it is a better + choice to add explicit ordering + directives via + After= or + Before=, + instead. For more details see + systemd.unit5. If + used, pass an integer value in the + same range as + /etc/fstab's + fs_passno column. See + fstab5 + for details. + +