[#common-service-parameters] = Common service parameters == Unit Parameters This section contains parameters you can use in the `[Unit]` section of a service. These parameters are common to other _systemd_ units. This list is a summarized version. For a full list of these parameters and their descriptions, run `man systemd.unit`. Description:: A free-form string describing the service. Documentation:: A space-separated list of URIs referencing documentation for this service or its configuration. Accepted are only URIs of the following types: `http://`, `https://`, `file:`, `info:`, `man:`. Requires:: Configures requirement dependencies on other services. If this service gets activated, the units listed here are activated too. If one of the dependent services fails to activate, _systemd_ does not start this service. This option may be specified more than once or you can specify multiple space-separated units. Wants:: Similar to `Requires`, except failed units do not have any effect on the service. BindsTo:: Similar to `Requires`, except stopping the dependent units also stops the service. PartOf:: Similar to `Requires`, except the stopping and restarting dependent units also stop and restart the service. Conflicts:: A space-separated list of unit names that, if running, cause the service not to run. Before, After:: A space-separated list of unit names that configures the ordering of dependencies between services. OnFailure:: A space-separated list of unit names that are activated when this service enters a failed state. == Install Parameters This section contains parameters you can use in the `[Install]` section of a service. These parameters are common to other _systemd_ units. This list is a summarized version. For a full list of these parameters and their descriptions, run `man systemd.unit`. Alias:: A space-separated list of additional names this service shall be installed under. The names listed here must have the same suffix (i.e. type) as the service filename. RequiredBy, WantedBy:: Defines the service as dependent of another service. This usually define the target to trigger an enabled service to run. These options are analogous to the `Requires` and `Wants` in the `[Units]` section. Also:: Additional units to install or uninstall when this service is installed or uninstalled. == Service Parameters This section contains parameters you can use in the `[Service]` section of a service unit. These parameters are specific only to _systemd_ service units. This list is a summarized version. For a full list of these parameters and their descriptions, run `man systemd.unit`. Type:: Configures the process start-up type for this service service: + * `simple` - The service starts as the main process. This is the default. * `forking` - The service calls forked processes and run as part of the main daemon. * `oneshot` - Similar to `simple`, except the process must exit before _systemd_ starts follow-up services. * `dbus` - Similar to `simple`, except the daemon acquires a name of the D-Bus bus. * `notify` - Similar to `simple`, except the daemon sends a notification message using `sd_notify` or an equivalent call after starting up. * `idle` - Similar to `simple`, except the execution of the service is delayed until all active jobs are dispatched. RemainAfterExit:: A boolean value that specifies whether the service shall be considered active even if all its processes exited. Defaults to no. GuessMainPID:: A boolean value that specifies whether _systemd_ should guess the main PID of a service if it cannot be determined reliably. This option is ignored unless `Type=forking` is set and `PIDFile` is not set. Defaults to yes. PIDFile:: An absolute filename pointing to the PID file of this daemon. Use of this option is recommended for services where `Type=forking`. _Systemd_ reads the PID of the main process of the daemon after start-up of the service. _Systemd_ does not write to the file configured here, although it removes the file after the service has shut down. BusName:: A D-Bus bus name to reach this service. This option is mandatory for services where `Type=dbus`. ExecStart:: The commands and arguments executed when the service starts. ExecStartPre, ExecStartPost:: Additional commands that are executed before or after the command in `ExecStart`. ExecReload:: The commands and arguments to execute when the service reloads. ExecStop:: The commands and arguments to execute when the service stops. ExecStopPost:: Additional commands to execute after the service stops. RestartSec:: The time in seconds to sleep before restarting a service. TimeoutStartSec:: The time in seconds to wait for the service to start. TimeoutStopSec:: The time in seconds to wait for the service to stop. TimeoutSec:: A shorthand for configuring both `TimeoutStartSec` and `TimeoutStopSec` simultaneously. RuntimeMaxSec:: A maximum time in seconds for the service to run. Pass `infinity` (the default) to configure no runtime limit. Restart:: Configures whether to restart the service when the service's process exits, is killed, or reaches a timeout: + * `no` - The service will not be restarted. This is the default. * `on-success` - Restart only when the service process exits cleanly (exit code 0). * `on-failure` - Restart only when the service process does not exit cleanly (node-zero exit code). * `on-abnormal` - Restart if the process terminates with a signal or when a timeout occurs. * `on-abort` - Restart if the process exits due to an uncaught signal not specified as a clean exit status. * `always` - Always restart.