lib/pvl/service.sh
author Tero Marttila <tero.marttila@aalto.fi>
Tue, 03 Mar 2015 11:40:02 +0200
changeset 710 09c6676a90a1
parent 649 88ff10dae514
child 711 36b87b9e6af4
permissions -rw-r--r--
lib/pvl/service: cmd_sudo restart; workaround more upstart braindamage with service ... status
SERVICE_NOOP=
SERVICE_TYPE=

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 $service status | grep -q start
    else
        cmd_test service $service status > /dev/null
    fi
}

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