#!/bin/bash ############################################################################### # # # IPFire.org - A linux based firewall # # Copyright (C) 2010 Michael Tremer & Christian Schmidt # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # # the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # # This program is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with this program. If not, see . # # # ############################################################################### function service_start() { local name=${1} assert isset name systemctl start ${name} # Check, if the service was successfully started and # return a proper exit code. service_is_active ${name} local ret=$? log INFO "Started service '${name}', code=${ret}." return ${ret} } function service_stop() { local name=${1} assert isset name systemctl stop ${name} } function service_restart() { local name=${1} assert isset name systemctl restart ${name} } function service_reload() { local name=${1} assert isset name if service_status ${name}; then systemctl reload ${name} return $? else log WARNING "Cannot reload service '${name}' which is currently not running." fi } function service_status() { local name=${1} assert isset name systemctl status ${name} >/dev/null 2>&1 return $? } function service_is_active() { local name=${1} assert isset name systemctl is-active ${name}.service >/dev/null 2>&1 return $? } function service_get_exitcode() { local name=${1} assert isset name local output=$(systemctl show ${name} --property="ExecMainStatus") cli_get_val "${output}" }