12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- #!/bin/sh
- #
- # zerotier-one Virtual distributed Ethernet service
- #
- # chkconfig: 2345 11 89
- # description: ZeroTier One provides public and private distributed ethernet \
- # networks. See https://www.zerotier.com/ for more information.
- ### BEGIN INIT INFO
- # Provides: zerotier-one
- # Required-Start: $local_fs $network
- # Required-Stop: $local_fs
- # Default-Start: 2345
- # Default-Stop: 90
- # Short-Description: start ZeroTier One
- # Description: ZeroTier One provides public and private distributed ethernet \
- # networks. See https://www.zerotier.com/ for more information.
- ### END INIT INFO
- #
- # This script is written to avoid distro-specific dependencies, so it does not
- # use the rc bash script libraries found on some systems. It should work on
- # just about anything, even systems using Upstart. Upstart native support may
- # come in the future.
- #
- zthome=/var/lib/zerotier-one
- # Add $zthome to path so we can invoke zerotier-one naked, makes it look
- # better in a ps listing.
- export PATH=/bin:/usr/bin:/sbin:/usr/sbin:$zthome
- if [ "$UID" -ne 0 ]; then
- echo "Init script must be called as root."
- exit 4
- fi
- if [ ! -f "$zthome/zerotier-one" ]; then
- echo "ZeroTier One is not installed in $zthome."
- exit 5
- fi
- pid=0
- if [ -f "$zthome/zerotier-one.pid" ]; then
- pid=`cat $zthome/zerotier-one.pid`
- fi
- running=0
- if [ "$pid" -gt 0 ]; then
- if [ "`readlink -nf /proc/$pid/exe`" = "$zthome/zerotier-one" ]; then
- running=1
- else
- rm -f "$zthome/zerotier-one.pid"
- fi
- fi
- case "$1" in
- start)
- if [ $running -gt 0 ]; then
- echo "ZeroTier One already running."
- exit 0
- fi
- echo "Starting ZeroTier One..."
- nohup zerotier-one >>/dev/null 2>&1 &
- disown %1
- exit 0
- ;;
- stop)
- if [ $running -gt 0 ]; then
- echo "Stopping ZeroTier One..."
- kill -TERM $pid
- else
- echo "ZeroTier One is not running."
- fi
- ;;
- restart|reload|force-reload|condrestart|try-restart)
- echo "Restarting ZeroTier One..."
- if [ $running -gt 0 ]; then
- kill -TERM $pid
- fi
- while [ -f "$zthome/zerotier-one.pid" ]; do sleep 1; done
- nohup zerotier-one >>/dev/null 2>&1 &
- disown %1
- ;;
- status)
- if [ $running -gt 0 ]; then
- exit 0
- else
- exit 3
- fi
- ;;
- *)
- echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
- exit 2
- esac
- exit 0
|