#!/bin/sh # ***** BEGIN LICENSE BLOCK ***** # Version: MPL 1.1/GPL 2.0/LGPL 2.1 # # The contents of this file are subject to the Mozilla Public License Version # 1.1 (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # http://www.mozilla.org/MPL/ # # Software distributed under the License is distributed on an "AS IS" basis, # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License # for the specific language governing rights and limitations under the # License. # # The Original Code is guacd. # # The Initial Developer of the Original Code is # Michael Jumper. # Portions created by the Initial Developer are Copyright (C) 2010 # the Initial Developer. All Rights Reserved. # # Contributor(s): # # Alternatively, the contents of this file may be used under the terms of # either the GNU General Public License Version 2 or later (the "GPL"), or # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), # in which case the provisions of the GPL or the LGPL are applicable instead # of those above. If you wish to allow use of your version of this file only # under the terms of either the GPL or the LGPL, and not to allow others to # use your version of this file under the terms of the MPL, indicate your # decision by deleting the provisions above and replace them with the notice # and other provisions required by the GPL or the LGPL. If you do not delete # the provisions above, a recipient may use your version of this file under # the terms of any one of the MPL, the GPL or the LGPL. # # ***** END LICENSE BLOCK ***** # guacd # # chkconfig: 2345 20 80 # description: Guacamole proxy daemon ### BEGIN INIT INFO # Provides: guacd # Required-Start: $network $syslog # Required-Stop: $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Guacamole proxy daemon # Description: The Guacamole proxy daemon, required to translate remote desktop protocols into the text-based Guacamole protocol used by the JavaScript application. ### END INIT INFO prog="guacd" exec="@sbindir@/$prog" pidfile="/var/run/$prog.pid" # Returns PID of currently running process, if any getpid() { if [ -f "$pidfile" ] then read PID < "$pidfile" # If pidfile contains PID and PID is valid if [ -n "$PID" ] && ps "$PID" > /dev/null 2>&1 then echo "$PID" return 0 fi fi # pidfile/pid not found, or process is dead return 1 } start() { [ -x $exec ] || exit 5 echo -n "Starting $prog: " getpid > /dev/null || $exec -p "$pidfile" retval=$? case "$retval" in 0) echo "SUCCESS" ;; *) echo "FAIL" ;; esac return $retval } stop() { echo -n "Stopping $prog: " PID=`getpid` retval=$? case "$retval" in 0) if kill $PID > /dev/null 2>&1 then echo "SUCCESS" return 0 fi echo "FAIL" return 1 ;; *) echo "SUCCESS (not running)" return 0 ;; esac } restart() { stop && start } force_reload() { restart } status() { PID=`getpid` retval=$? case "$retval" in 0) echo "$prog is running with PID=$PID." ;; *) echo "$prog is not running." ;; esac return $retval } case "$1" in start|stop|status|restart|force-reload) $1 ;; try-restart) status && restart ;; *) echo "Usage: $0 {start|stop|status|restart|try-restart|force-reload}" exit 2 esac exit $?