diff options
Diffstat (limited to 'misc/vipeval_sles12_startscript')
-rwxr-xr-x | misc/vipeval_sles12_startscript | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/misc/vipeval_sles12_startscript b/misc/vipeval_sles12_startscript new file mode 100755 index 0000000..85d1934 --- /dev/null +++ b/misc/vipeval_sles12_startscript @@ -0,0 +1,87 @@ +#!/bin/sh +# +# /etc/init.d/vipeval +# +### BEGIN INIT INFO +# Provides: vipeval +# Required-Start: $network $remote_fs $syslog +# Should-Start: +# Required-Stop: $network $remote_fs $syslog +# Should-Stop: +# Default-Start: 3 5 +# Default-Stop: 0 1 2 6 +# Description: Start +# Short-Description: vipeval +### END INIT INFO + +VIPEVAL_PIDFILE=/var/run/vipeval.pid +VIPEVAL_ROOT=/home/projects/vipeval + + +# Shell functions sourced from /etc/rc.status: +# rc_check check and set local and overall rc status +# rc_status check and set local and overall rc status +# rc_status -v ditto but be verbose in local rc status +# rc_status -v -r ditto and clear the local rc status +# rc_status -s display "skipped" and exit with status 3 +# rc_status -u display "unused" and exit with status 3 +# rc_failed set local and overall rc status to failed +# rc_failed <num> set local and overall rc status to <num> +# rc_reset clear local rc status (overall remains) +# rc_exit exit appropriate to overall rc status +# rc_active checks whether a service is activated by symlinks +# rc_splash arg sets the boot splash screen to arg (if active) +. /etc/rc.status + +# First reset status of this service +rc_reset + +# Return values acc. to LSB for all commands but status: +# 0 - success +# 1 - generic or unspecified error +# 2 - invalid or excess argument(s) +# 3 - unimplemented feature (e.g. "reload") +# 4 - user had insufficient privileges +# 5 - program is not installed +# 6 - program is not configured +# 7 - program is not running +# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl) +# +# Note that starting an already running service, stopping +# or restarting a not-running service as well as the restart +# with force-reload (in case signaling is not supported) are +# considered a success. + +case "$1" in + start) + echo -n "Starting VIP Evaluation Backend" + su -l -c "cd $VIPEVAL_ROOT && bundle exec rails runner -e production MainLoop.instance.start &" freeit + rc_status -v + ;; + stop) + echo -n "Shutting down VIP Evaluation Backend" + kill `ps ax | grep -v 'grep.*bin/rails runner -e production MainLoop.instance.start' | grep 'bin/rails runner -e production MainLoop.instance.start' | awk '{print $1}'` + rc_status -v + ;; + restart) + $0 stop + $0 start + rc_status + ;; + status) + PATH="/bin:/usr/bin" + pid=`/bin/ps ax | /usr/bin/grep -v 'grep.*bin/rails runner -e production MainLoop.instance.start' | /usr/bin/grep 'bin/rails runner -e production MainLoop.instance.start' | /usr/bin/awk '{print $1}'` + if [ -n "$pid" ]; then + echo "online (pid=$pid)" + exit 0 + else + echo offline + exit 1 + fi + ;; + *) + echo "Usage: $0 {start|stop|restart|status}" + exit 1 + ;; +esac +rc_exit |