lib/pvl/service.sh
author Tero Marttila <terom@paivola.fi>
Mon, 09 Mar 2015 23:31:13 +0200
changeset 738 3104fdf7ea26
parent 730 2073e2e20895
permissions -rw-r--r--
pvl.hosts.hosts: drop support for instanced ip.* in favor of improved interface:ip.* =
SERVICE_NOOP=
SERVICE_TYPE=

SERVICE_SBIN=/usr/sbin/service

function service_opt {
    local opt=$1
    local optarg="$2"

    case $opt in
        n)  SERVICE=0 ;;
        *)  return 1
    esac
}

function service_init {
    if [ -e /bin/systemctl ]; then
        SERVICE_TYPE=systemd

    elif [ -e /sbin/initctl ]; then
        SERVICE_TYPE=upstart

    else
        SERVICE_TYPE=service
    fi
}

function service_status {
    local service=$1
    
    # native upstart services don't exit with any status, but sysvinit compatibility ones do
    if [ $SERVICE_TYPE = upstart -a -e /etc/init/$service.conf ]; then
        cmd_test $SERVICE_SBIN $service status | grep -q start
    else
        cmd_test $SERVICE_SBIN $service status > /dev/null
    fi
}

function service_restart {
    local service=$1
    
    cmd_sudo $SERVICE_SBIN $service restart
}

function service_reload {
    local service=$1
    
    cmd_sudo $SERVICE_SBIN $service reload
}