ssm-services/init.d/cjdroute

41 lines
931 B
Plaintext
Raw Normal View History

2013-11-05 14:10:22 +00:00
#!/usr/bin/env watchman
unset reload
2014-07-03 07:05:52 +00:00
service_command='/usr/local/sbin/cjdroute-start'
service_respawn=true
2014-04-04 11:40:00 +00:00
cjdroute_config='/etc/cjdroute.conf'
cjdroute_admin_port='11234'
2013-11-05 14:10:22 +00:00
2013-11-13 07:04:27 +00:00
cjdroute.check_tun_module() {
[[ -e '/dev/net/tun' ]] || {
modprobe tun || {
watchman.err "Could not load module tun!"
return 1
}
}
}
2013-11-05 14:10:22 +00:00
start() {
2013-11-13 07:04:27 +00:00
cjdroute.check_tun_module || { return 1; }
2014-02-25 21:57:59 +00:00
[[ -e "$cjdroute_config" ]] || {
watchman.err "$cjdroute_config does not exist, please create it by running cjdroute --genconf >> /etc/cjdroute.conf"
return 1
}
2014-07-03 07:05:52 +00:00
watchman.start
}
stop() {
[[ "$service_respawn" == 'true' ]] && { watchman.stop; } # stopping the watchdog
# Stopping the actual s-o-b daemon that won't die properly.
cjdroute_control_pid=`lsof -i :"$cjdroute_admin_port" | tail -1 | cut -d ' ' -f 2`
watchman.pid_check "$cjdroute_control_pid" && {
kill "$cjdroute_control_pid"
watchman.pid_wait "$cjdroute_control_pid"
2014-06-28 06:54:06 +00:00
}
2013-11-05 14:10:22 +00:00
}