Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- ### BEGIN INIT INFO
- # Provides: twistedplugin
- # Required-Start: $all
- # Required-Stop: $all
- # Default-Start: 2 3 4 5
- # Default-Stop: 0 1 6
- # Short-Description: Starts a service for the Twisted plugin 'ocapi'
- # Description: Service to interface with OC API
- ### END INIT INFO
- # Author: Stephan Chenette <removed>
- PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
- DAEMON=/usr/bin/twistd
- RUNAS=root
- SERVICE_NAME=ocapi
- SERVICE_PATH=/usr/sbin/ocapi.py
- PIDFILE=/var/run/ocapi.pid
- LOGFILE=/var/log/ocapi.log
- DAEMON_OPTS="--umask=000 --pidfile=${PIDFILE} --logfile=${LOGFILE} --python ${SERVICE_PATH}"
- # Set python path so twistd can find the plugin
- # See: http://twistedmatrix.com/projects/core/documentation/howto/plugin.html
- export PYTHONPATH=$SERVICE_DIR
- if [ ! -x $DAEMON ]; then
- echo "ERROR: Can't execute $DAEMON."
- exit 1
- fi
- if [ ! -x $SERVICE_PATH ]; then
- echo "ERROR: Can't execute: $SERVICE_PATH"
- exit 1
- fi
- start_service() {
- echo -n " * Starting $SERVICE_NAME... "
- start-stop-daemon -Sq --chuid ${RUNAS} --group ${RUNAS} -p $PIDFILE -x $DAEMON -- $DAEMON_OPTS
- e=$?
- if [ $e -eq 1 ]; then
- echo "already running"
- return
- fi
- if [ $e -eq 255 ]; then
- echo "couldn't start :("
- return
- fi
- echo "done"
- }
- stop_service() {
- echo -n " * Stopping $SERVICE_NAME... "
- start-stop-daemon -Kq -R 10 -p $PIDFILE
- e=$?
- if [ $e -eq 1 ]; then
- echo "not running"
- return
- fi
- echo "done"
- }
- case "$1" in
- start)
- start_service
- ;;
- stop)
- stop_service
- ;;
- restart)
- stop_service
- start_service
- ;;
- *)
- echo "Usage: /etc/init.d/$SERVICE_NAME {start|stop|restart}" >&2
- exit 1
- ;;
- esac
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement