lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

ibrdtn.init (1629B)


      1 #!/bin/sh /etc/rc.common
      2 # Copyright (C) 2007 OpenWrt.org
      3 
      4 START=90
      5 
      6 start() {
      7 	# check if the daemon is disabled
      8 	if [ "`/sbin/uci -P/var/state -q get ibrdtn.disable`" == "1" ]; then
      9 		/bin/echo "dtnd is disabled"
     10 		return
     11 	fi
     12 	
     13 	/bin/echo -n "running dtnd ..."
     14 	
     15 	# startup the safety-wrapper for the daemon
     16 	/usr/sbin/dtnd-safety-wrapper.sh &
     17 	
     18 	# store the pid of the process in uci states
     19 	/sbin/uci -P/var/state -q set ibrdtn.safetypid=`echo $!`
     20 	
     21 	/bin/echo " done"
     22 }
     23 
     24 stop() { 
     25 	# check if the daemon is disabled
     26 	if [ "`/sbin/uci -P/var/state -q get ibrdtn.disable`" == "1" ]; then
     27 		/bin/echo "dtnd is disabled"
     28 		return
     29 	fi
     30 	
     31 	/bin/echo -n "stopping dtnd ..."
     32 	
     33 	# set state to None, this indicates a clear shutdown to the safety-wrapper.
     34 	/sbin/uci -P/var/state -q set ibrdtn.state=None
     35 	
     36 	# stop the safety-wrapper
     37 	if [ -n "`/sbin/uci -P/var/state -q get ibrdtn.safetypid`" ]; then
     38 		/usr/bin/kill `/sbin/uci -P/var/state -q get ibrdtn.safetypid` 2> /dev/null >/dev/null
     39 	fi
     40 	
     41 	# finally kill really all safety-wrapper!
     42 	/bin/sleep 2
     43 	/usr/bin/killall -9 dtnd-safety-wrapper.sh
     44 	
     45 	# send a kill signal to the daemon
     46 	/usr/bin/killall dtnd 2> /dev/null >/dev/null
     47 	
     48 	# wait for some time
     49 	TIMEOUT=0;
     50 	
     51 	# check if the daemon is running
     52 	while [ -n "`ps | grep dtnd | grep -v grep`" ]; do
     53 		# check if the daemon is still running
     54 		if [ $TIMEOUT -ge 10 ]; then
     55 			/bin/echo " killing"
     56 			# kill all processes of dtnd
     57 			/usr/bin/killall -9 dtnd 2> /dev/null >/dev/null
     58 			return
     59 		fi
     60 		
     61 		# increment timeout
     62 		TIMEOUT=`expr $TIMEOUT + 1`
     63 		
     64 		echo -n "."
     65 		
     66 		# wait some time
     67 		/bin/sleep 1
     68 	done
     69 	
     70 	echo " done"
     71 }