#!/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