#! /usr/bin/env bash # # wmstartup service common functions # Copyright (C) 2018 salt # # Distributed under terms of the MIT license. # service_name="unnamed_service" service_process="true" function svc_log() { if [ -z ${1+x} ]; then return 1; fi dtf_log "$service_name: $1" } function prestart() { if ! which $service_process > /dev/null 2>&1; then svc_log "Could not find process" return 1 fi return 0 } function start() { if ! prestart; then svc_log "Failed pre-start checks" return 1 fi svc_log "Starting" $service_process > /dev/null 2>&1 & return 0 } function stop() { svc_log "Stopping" killall $service_process & for i in {1..100}; do if ! isup; then break; fi sleep 0.01 if (( $i > 99 )); then svc_log "Stopping with prejudice" killall -9 $service_process fi done return $? } function isup() { pgrep "$service_process" > /dev/null 2>&1 return $? }