1#!/bin/sh 2# Copyright (c) 2018, The OpenThread Authors. 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions are met: 7# 1. Redistributions of source code must retain the above copyright 8# notice, this list of conditions and the following disclaimer. 9# 2. Redistributions in binary form must reproduce the above copyright 10# notice, this list of conditions and the following disclaimer in the 11# documentation and/or other materials provided with the distribution. 12# 3. Neither the name of the copyright holder nor the 13# names of its contributors may be used to endorse or promote products 14# derived from this software without specific prior written permission. 15# 16# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 20# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 24# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 25# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 26# POSSIBILITY OF SUCH DAMAGE. 27# 28### BEGIN INIT INFO 29# Provides: otbr-web 30# Required-Start: otbr-agent 31# Required-Stop: 32# Should-Start: 33# Should-Stop: 34# Default-Start: 2 3 4 5 35# Default-Stop: 0 1 6 36# Short-Description: web server for boreder router 37# Description: otbr-web provides a web gui for boder router 38### END INIT INFO 39 40set -e 41 42PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 43DESC="thread web interface" 44NAME=otbr-web 45DAEMON=@CMAKE_INSTALL_FULL_SBINDIR@/otbr-web 46PIDFILE=/var/run/otbr-web.pid 47 48OTBR_WEB_CONF=@CMAKE_INSTALL_FULL_SYSCONFDIR@/default/otbr-web 49 50. /lib/lsb/init-functions 51. /lib/init/vars.sh 52 53if [ -f $OTBR_WEB_CONF ]; then 54 . $OTBR_WEB_CONF 55fi 56 57start_web() 58{ 59 if [ -e $PIDFILE ]; then 60 if $0 status > /dev/null ; then 61 log_success_msg "$DESC already started; not starting." 62 return 63 else 64 log_success_msg "Removing stale PID file $PIDFILE." 65 rm -f $PIDFILE 66 fi 67 fi 68 69 log_daemon_msg "Starting $DESC" "$NAME" 70 start-stop-daemon --start --quiet \ 71 --pidfile $PIDFILE --make-pidfile \ 72 -b --exec $DAEMON -- $OTBR_WEB_OPTS 73 log_end_msg $? 74} 75 76stop_web() 77{ 78 log_daemon_msg "Stopping $DESC" "$NAME" 79 start-stop-daemon --stop --retry 5 --quiet --oknodo \ 80 --pidfile $PIDFILE --remove-pidfile 81 log_end_msg $? 82} 83 84case "$1" in 85 start) 86 start_web 87 ;; 88 restart|reload|force-reload) 89 stop_web 90 start_web 91 ;; 92 stop|force-stop) 93 stop_web 94 ;; 95 status) 96 status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $? 97 ;; 98 *) 99 log_action_msg "Usage: /etc/init.d/$NAME {start|stop|status|restart|reload|force-reload}" 100 exit 2 101 ;; 102esac 103