Debian has a package called "systemctl" which provides a systemctl
executable to "manage services without systemd". So test for whether
we have a fully functional systemd system by checking for the
existence of /run/systemd/system instead testing for the presence of
the command named systemctl.
Addresses-Debian-Bug: #1070107
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
for tgt in "${targets[@]}"; do
# If we're not reaping and systemd is present, try invoking the
# systemd service.
- if [ "${reap}" -ne 1 ] && type systemctl > /dev/null 2>&1; then
+ if [ "${reap}" -ne 1 ] && [ -e /run/systemd/system ]; then
svcname="$(escape_path_for_systemd "${tgt}")"
${DBG} systemctl start "${svcname}" 2> /dev/null
res=$?