74 lines
2.3 KiB
Django/Jinja
74 lines
2.3 KiB
Django/Jinja
#!/bin/bash
|
|
### BEGIN INIT INFO
|
|
# Provides: selenium
|
|
# Required-Start: $local_fs $network
|
|
# Required-Stop: $local_fs
|
|
# Default-Start: 2 3 4 5
|
|
# Default-Stop: 0 1 6
|
|
# Short-Description: selenium
|
|
# Description: selenium test framework
|
|
### END INIT INFO
|
|
|
|
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
|
|
|
DISPLAY_ID="{{ selenium_display_id }}"
|
|
RUN_AS=root
|
|
|
|
JAVA_BIN=/usr/bin/java
|
|
|
|
XVFB_BIN=/usr/bin/xvfb-run
|
|
|
|
SELENIUM_DIR={{ selenium_install_dir }}/selenium
|
|
SELENIUM_JAR_FILE="$SELENIUM_DIR/selenium-server-standalone-{{ selenium_version }}.jar"
|
|
DAEMON_PID_FILE="$SELENIUM_DIR/selenium.pid"
|
|
SELENIUM_LOG_FILE="$SELENIUM_DIR/selenium.log"
|
|
SELENIUM_DAEMON_OPTS=" -client -jar $SELENIUM_JAR_FILE -log $SELENIUM_LOG_FILE -port {{ selenium_port }}"
|
|
|
|
export DISPLAY="$DISPLAY_ID"
|
|
|
|
set -e
|
|
|
|
. /lib/lsb/init-functions
|
|
|
|
case "$1" in
|
|
start)
|
|
if status_of_proc -p $DAEMON_PID_FILE "$SELENIUM_JAR_FILE" $SELENIUM_JAR_FILE > /dev/null; then
|
|
log_progress_msg "Service already running"
|
|
else
|
|
log_daemon_msg "Starting Selenium server"
|
|
log_progress_msg "selenium"
|
|
start-stop-daemon -c $RUN_AS --start --quiet --background --pidfile $DAEMON_PID_FILE --make-pidfile --exec $XVFB_BIN {{ selenium_xvfb_args }} $JAVA_BIN -- $SELENIUM_DAEMON_OPTS
|
|
fi
|
|
;;
|
|
|
|
stop)
|
|
if status_of_proc -p $DAEMON_PID_FILE "$SELENIUM_JAR_FILE" $SELENIUM_JAR_FILE > /dev/null; then
|
|
log_daemon_msg "Stopping Selenium server"
|
|
log_progress_msg "selenium"
|
|
DAEMON_PID=$(cat $DAEMON_PID_FILE)
|
|
DAEMON_CHILDREN=$(pstree -l -p $DAEMON_PID |grep "([[:digit:]]*)" -o |tr -d '()')
|
|
# Stop daemon itself.
|
|
start-stop-daemon --stop --pidfile $DAEMON_PID_FILE
|
|
# Stop all child processes.
|
|
sudo kill $DAEMON_CHILDREN
|
|
else
|
|
log_progress_msg "Service not running"
|
|
fi
|
|
;;
|
|
|
|
restart|force-reload)
|
|
$0 stop
|
|
sleep 1
|
|
$0 start
|
|
;;
|
|
|
|
status)
|
|
status_of_proc -p $DAEMON_PID_FILE "$SELENIUM_JAR_FILE" $SELENIUM_JAR_FILE && exit 0 || exit $?
|
|
;;
|
|
|
|
*)
|
|
N=/etc/init.d/selenium
|
|
echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
|
|
exit 1
|
|
;;
|
|
esac
|