systemd.service systemd Developer Lennart Poettering lennart@poettering.net systemd.service 5 systemd.service systemd service configuration files systemd.service Description A configuration file ending in .service encodes information about a process controlled and supervised by systemd. This man page lists the configuration options specific to this unit type. See systemd.unit5 for the common options of all unit configuration files. Options Type= One of forking, simple, finish, dbus. If set to forking (the default) 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 setting is used, it is recommended to also use the PIDFile= option, so that systemd can identify the main process of the daemon. systemd will proceed starting follow-up units as soon as the parent process exits. If set to simple (the recommended value) it is expected that the process configured with ExecStart= is the main process of the daemon. In this mode, communication channels must be available before the daemon is started up (sockets set up by systemd), as systemd will immediately proceed starting follow-up units. Behaviour of finish is similar to simple, however it is expected that the process has to exit before systemd starts follow-up units. ValidNoProcess= is particularly useful for this type of service. Behaviour of dbus is similar to simple, however it is expected that the daemon acquires a name on the D-Bus bus, as configured by BusName=. Systemd will proceed starting follow-up units after the D-Bus bus name has been acquired. ValidNoProcess= Takes a boolean value that specifies whether the service shall be considered active even when all its processes exited. Defaults to no. PIDFile= Takes an absolute file name pointing to the PID file of this daemon. Use of this option is recommended for services where Type= is set to forking. BusName= Takes a D-Bus bus name, where this service is reachable as. This option is mandatory for services where Type= is set to dbus, but its use is otherwise recommended as well if the process takes a name on the D-Bus bus. ExecStart= Takes a command line that is executed when this service shall be started up. The first word of the command line must be an absolute file name. It is mandatory to set this option for all services. See Also systemd8, systemctl8 systemd.unit5