--- tags: - systemd - linux --- The `Type` directive is specified within the `Service` section. There are 6 different types; - **Simple**: The default if `Type` nor `Busname` are specified. - **Exec** : similar to simple but waits a bit more for the service to be started successfully - **Forking**: Used when the parent process exits immediately due to it forking. Systemd will know it's still running even though it exited. - **Oneshot**: When the process is short-lived and doesn't need to keep running. Systemd will wait on the process before starting other units. - **Dbus**: The process will be registered on the D-Bus bus. - **Notify**: Systemd will expect a notification from the process to signal it has started up blocking the execution of other units until the signal is received. - **Idle**: Service will not run ufntil all jobs are dispatched. #clarify https://www.digitalocean.com/community/tutorials/understanding-systemd-units-and-unit-files#unit-specific-section-directives **Exec** is recommended by `man systemd.service` for long-running services.