#!/bin/bash # /etc/init.d/translation-server function check_exported_variable () { outline=$(printenv | grep $1) if [[ "" == "$outline" ]]; then eval 'export '$1'='$2 fi } check_exported_variable "HUNPOS_TAGGER" "####HUNPOS####" check_exported_variable "AELIUS_DATA" "####AELIUS####" check_exported_variable "NLTK_DATA" "####NLTK####" check_exported_variable "TRANSLATE_DATA" "####TRANSLATE####" check_exported_variable "PYTHONPATH" "####PYTHON####" dir="" port=####PORT#### mode="####MODE####" cmd="python -m TranslationServer --port "$port" --mode "$mode user="" if [ $mode != "translate" ]; then check_exported_variable "SIGNS_VLIBRAS" "####SIGNS####" fi name=`basename $0` pid_file="/var/run/$name.pid" stdout_log="/var/log/$name.log" stderr_log="/var/log/$name.err" get_pid() { cat "$pid_file" } is_running() { [ -f "$pid_file" ] && ps `get_pid` > /dev/null 2>&1 } case "$1" in start) if is_running; then echo "Already started" else echo "Starting $name" cd "$dir" if [ -z "$user" ]; then $cmd >> "$stdout_log" 2>> "$stderr_log" & else sudo -H -u $user $cmd >> "$stdout_log" 2>> "$stderr_log" & fi echo $! > "$pid_file" if ! is_running; then echo "Unable to start, see $stdout_log and $stderr_log" exit 1 fi fi ;; stop) if is_running; then echo -n "Stopping $name.." kill `get_pid` for i in {1..10} do if ! is_running; then break fi echo -n "." sleep 1 done echo if is_running; then echo "Not stopped; may still be shutting down or shutdown may have failed" exit 1 else echo "Stopped" if [ -f "$pid_file" ]; then rm "$pid_file" fi fi else echo "Not running" fi ;; restart) $0 stop if is_running; then echo "Unable to stop, will not attempt to start" exit 1 fi $0 start ;; status) if is_running; then echo "Running" else echo "Stopped" exit 1 fi ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 ;; esac exit 0