72 lines
1.5 KiB
Bash
Executable File
72 lines
1.5 KiB
Bash
Executable File
#!/bin/sh
|
|
### BEGIN INIT INFO
|
|
# Provides: webtiles
|
|
# Required-Start: $local_fs $remote_fs $network $named
|
|
# Required-Stop: $local_fs $remote_fs $network $named
|
|
# Default-Start: 2 3 4 5
|
|
# Default-Stop: 0 1 6
|
|
# X-Interactive: true
|
|
# Short-Description: Start/stop Dungeon Crawl webtiles server
|
|
### END INIT INFO
|
|
|
|
. /lib/lsb/init-functions
|
|
|
|
# kill -TERM doesn't work
|
|
signal=ABRT
|
|
|
|
announce() {
|
|
echo "$@" >> %%ANNOUNCEMENTS_FILE%%
|
|
}
|
|
|
|
quietly() {
|
|
"$@" >/dev/null 2>&1
|
|
}
|
|
|
|
stop_webtiles() {
|
|
log_daemon_msg "Stopping webtiles server" "webtiles"
|
|
|
|
[ -z "$1" ] || ! quietly ps "$1" || kill -$signal "$1"
|
|
local result=$?
|
|
log_end_msg $result
|
|
return $result
|
|
}
|
|
|
|
start_webtiles() {
|
|
log_daemon_msg "Starting webtiles server" "webtiles"
|
|
ulimit -n 4096
|
|
|
|
PYTHONPATH=/home/crawl-dev/tornado/ python ./server.py
|
|
local result=$?
|
|
log_end_msg $result
|
|
return $result
|
|
}
|
|
|
|
cd %%CRAWL_BASEDIR%%/webserver
|
|
|
|
pid=$([ -e run/webtiles.pid ] && cat run/webtiles.pid)
|
|
case $1 in
|
|
start)
|
|
if [ -n "$pid" ] && quietly ps "$pid"; then
|
|
log_warning_msg "Webtiles was already running!"
|
|
else
|
|
start_webtiles && announce "Webtiles server started."
|
|
fi
|
|
;;
|
|
stop)
|
|
stop_webtiles "$pid" && announce "Webtiles server stopped."
|
|
;;
|
|
restart|reload)
|
|
if stop_webtiles "$pid" && sleep 3; then
|
|
if start_webtiles; then
|
|
announce "Webtiles server restarted.";
|
|
else
|
|
announce "Webtiles server failed to restart.";
|
|
fi
|
|
fi
|
|
;;
|
|
*)
|
|
log_success_msg "Usage: /etc/init.d/webtiles {start|stop|restart}"
|
|
exit 1
|
|
;;
|
|
esac
|