1
0
Fork 0
mirror of https://github.com/hermitcore/libhermit.git synced 2025-03-23 00:00:05 +01:00
libhermit/usr/rdma-core/ibacm/ibacm.init.in
2017-10-06 15:13:04 +02:00

139 lines
2.9 KiB
Bash

#!/bin/bash
# Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
#
# Bring up/down the ibacm daemon
#
# chkconfig: 2345 25 75
# description: Starts/Stops InfiniBand ACM service
#
### BEGIN INIT INFO
# Provides: ibacm
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Required-Start: $network $remote_fs
# Required-Stop: $network $remote_fs
# Should-Start:
# Should-Stop:
# Short-Description: Starts and stops the InfiniBand ACM service
# Description: The InfiniBand ACM service provides a user space implementation
# of something resembling an ARP cache for InfiniBand SA queries and
# host route lookups.
### END INIT INFO
pidfile=@CMAKE_INSTALL_FULL_RUNDIR@/ibacm.pid
subsys=/var/lock/subsys/ibacm
daemon() { /sbin/daemon ${1+"$@"}; }
if [ -s /etc/init.d/functions ]; then
# RHEL / CentOS / SL / Fedora
. /etc/init.d/functions
_daemon() { daemon ${1+"$@"}; }
_checkpid() { checkpid `cat $pidfile`; }
_success() { success; echo; }
_failure() { failure; echo; }
elif [ -s /lib/lsb/init-functions ]; then
# SLES / OpenSuSE / Debian
. /lib/lsb/init-functions
_daemon() { start_daemon "$@"; }
_checkpid() { checkproc -p $pidfile @CMAKE_INSTALL_FULL_SBINDIR@/ibacm; }
_success() { log_success_msg; }
_failure() { log_failure_msg; }
elif [ -s /etc/rc.status ]; then
# Older SuSE
. /etc/rc.status
_daemon() { /sbin/start_daemon ${1+"$@"}; }
_checkpid() { checkproc -p $pidfile @CMAKE_INSTALL_FULL_SBINDIR@/ibacm; }
_success() { rc_status -v; }
_failure() { rc_status -v; }
fi
start()
{
echo -n "Starting ibacm daemon:"
_daemon @CMAKE_INSTALL_FULL_SBINDIR@/ibacm
if [[ $RETVAL -eq 0 ]]; then
_success
else
_failure
fi
}
stop()
{
echo -n "Stopping ibacm daemon:"
killproc -p $pidfile ibacm
if [[ $RETVAL -eq 0 ]]; then
_success
else
_failure
fi
rm -f $subsys
}
status()
{
echo -n "Checking for ibacm service "
if [ ! -f $subsys -a ! -f $pidfile ]; then
RETVAL=3
elif [ -f $pidfile ]; then
_checkpid
RETVAL=$?
elif [ -f $subsys ]; then
RETVAL=2
else
RETVAL=0
fi
if [[ $RETVAL -eq 0 ]]; then
_success
else
_failure
fi
}
restart ()
{
stop
start
}
condrestart ()
{
[ -e $subsys ] && restart || return 0
}
usage ()
{
echo
echo "Usage: `basename $0` {start|stop|restart|condrestart|try-restart|force-reload|status}"
echo
return 2
}
case $1 in
start|stop|restart|condrestart|try-restart|force-reload)
[ `id -u` != "0" ] && exit 4 ;;
esac
case $1 in
start)
start
;;
stop)
stop
;;
restart | reload)
restart
;;
condrestart | try-restart | force-reload)
condrestart
;;
status)
status
;;
*)
usage
;;
esac
exit $RETVAL