SD_BOOTED(3) sd_booted SD_BOOTED(3)NAME
sd_booted - Test whether the system is running the systemd init system
SYNOPSIS
#include <systemd/sd-daemon.h>
int sd_booted(void);
DESCRIPTIONsd_booted() checks whether the system was booted up using the systemd
init system.
RETURN VALUE
On failure, this call returns a negative errno-style error code. If the
system was booted up with systemd as init system, this call returns a
positive return value, zero otherwise.
NOTES
This function is provided by the reference implementation of APIs for
new-style daemons and distributed with the systemd package. The
algorithm it implements is simple, and can easily be reimplemented in
daemons if it is important to support this interface without using the
reference implementation.
Internally, this function checks whether the directory
/run/systemd/system/ exists. A simple check like this can also be
implemented trivially in shell or any other language.
For details about the algorithm check the liberally licensed reference
implementation sources:
http://cgit.freedesktop.org/systemd/systemd/plain/src/libsystemd-daemon/sd-daemon.c
and
http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h
sd_booted() is implemented in the reference implementation's
sd-daemon.c and sd-daemon.h files. These interfaces are available as a
shared library, which can be compiled and linked to with the
libsystemd-daemon pkg-config(1) file. Alternatively, applications
consuming these APIs may copy the implementation into their source
tree. For more details about the reference implementation, see sd-
daemon(3).
If the reference implementation is used as drop-in files and
-DDISABLE_SYSTEMD is set during compilation, this function will always
return 0 and otherwise become a NOP.
SEE ALSOsystemd(1), sd-daemon(3)systemd 208SD_BOOTED(3)