1#!/bin/sh 2# 3# Copyright (C) 2009, Cisco Systems Inc. 4# Ngie Cooper, August 2009 5# Copyright (C) 2012-2014 Linux Test Project 6# 7# This program is free software; you can redistribute it and/or modify 8# it under the terms of the GNU General Public License as published by 9# the Free Software Foundation; either version 2 of the License, or 10# (at your option) any later version. 11# 12# This program is distributed in the hope that it will be useful, 13# but WITHOUT ANY WARRANTY; without even the implied warranty of 14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15# GNU General Public License for more details. 16# 17# You should have received a copy of the GNU General Public License along 18# with this program; if not, write to the Free Software Foundation, Inc., 19# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20# 21 22# running under systemd? 23if command -v systemctl >/dev/null 2>&1; then 24 HAVE_SYSTEMCTL=1 25else 26 HAVE_SYSTEMCTL=0 27fi 28 29# Check to see if syslogd, syslog-ng or rsyslogd exists 30SYSLOG_DAEMON="" 31if command -v syslogd >/dev/null 2>&1; then 32 SYSLOG_DAEMON="syslog" 33elif command -v syslog-ng >/dev/null 2>&1; then 34 SYSLOG_DAEMON="syslog-ng" 35elif command -v rsyslogd >/dev/null 2>&1; then 36 SYSLOG_DAEMON="rsyslog" 37fi 38 39# Check to see if cron or crond exists 40CROND_DAEMON="" 41if command -v crond >/dev/null 2>&1; then 42 CROND_DAEMON="crond" 43elif command -v cron >/dev/null 2>&1; then 44 CROND_DAEMON="cron" 45fi 46 47start_daemon() 48{ 49 if [ $HAVE_SYSTEMCTL -eq 1 ]; then 50 systemctl start $1.service > /dev/null 2>&1 51 elif command -v service >/dev/null 2>&1; then 52 service $1 start > /dev/null 2>&1 53 else 54 /etc/init.d/$1 start > /dev/null 2>&1 55 fi 56} 57 58stop_daemon() 59{ 60 if [ $HAVE_SYSTEMCTL -eq 1 ]; then 61 systemctl stop $1.service > /dev/null 2>&1 62 elif command -v service >/dev/null 2>&1; then 63 service $1 stop > /dev/null 2>&1 64 else 65 /etc/init.d/$1 stop > /dev/null 2>&1 66 fi 67} 68 69status_daemon() 70{ 71 if [ $HAVE_SYSTEMCTL -eq 1 ]; then 72 systemctl is-active $1.service > /dev/null 2>&1 73 elif command -v service >/dev/null 2>&1; then 74 service $1 status > /dev/null 2>&1 75 else 76 /etc/init.d/$1 status > /dev/null 2>&1 77 fi 78} 79 80restart_daemon() 81{ 82 if [ $HAVE_SYSTEMCTL -eq 1 ]; then 83 systemctl restart $1.service > /dev/null 2>&1 84 elif command -v service >/dev/null 2>&1; then 85 service $1 restart > /dev/null 2>&1 86 else 87 /etc/init.d/$1 restart > /dev/null 2>&1 88 fi 89} 90