e1a8e7d6a444b94b36660c0c44de3129e8dc38a2
[guacd.git] / init.d / guacd.in
1 #!/bin/sh
2
3 # ***** BEGIN LICENSE BLOCK *****
4 # Version: MPL 1.1/GPL 2.0/LGPL 2.1
5 #
6 # The contents of this file are subject to the Mozilla Public License Version
7 # 1.1 (the "License"); you may not use this file except in compliance with
8 # the License. You may obtain a copy of the License at
9 # http://www.mozilla.org/MPL/
10 #
11 # Software distributed under the License is distributed on an "AS IS" basis,
12 # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13 # for the specific language governing rights and limitations under the
14 # License.
15 #
16 # The Original Code is guacd.
17 #
18 # The Initial Developer of the Original Code is
19 # Michael Jumper.
20 # Portions created by the Initial Developer are Copyright (C) 2010
21 # the Initial Developer. All Rights Reserved.
22 #
23 # Contributor(s):
24 #
25 # Alternatively, the contents of this file may be used under the terms of
26 # either the GNU General Public License Version 2 or later (the "GPL"), or
27 # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
28 # in which case the provisions of the GPL or the LGPL are applicable instead
29 # of those above. If you wish to allow use of your version of this file only
30 # under the terms of either the GPL or the LGPL, and not to allow others to
31 # use your version of this file under the terms of the MPL, indicate your
32 # decision by deleting the provisions above and replace them with the notice
33 # and other provisions required by the GPL or the LGPL. If you do not delete
34 # the provisions above, a recipient may use your version of this file under
35 # the terms of any one of the MPL, the GPL or the LGPL.
36 #
37 # ***** END LICENSE BLOCK *****
38
39 # guacd
40 #
41 # chkconfig:   - 20 80
42 # description: Guacamole proxy daemon
43
44 ### BEGIN INIT INFO
45 # Provides:          guacd
46 # Required-Start:    $network $syslog 
47 # Required-Stop:     $network $syslog
48 # Short-Description: Guacamole proxy daemon
49 # Description: The Guacamole proxy daemon, required to translate remote desktop protocols into the text-based Guacamole protocol used by the JavaScript application.
50 ### END INIT INFO
51
52 # Source function library.
53 . /lib/lsb/init-functions
54
55 prog="guacd"
56 exec="@sbindir@/$prog"
57 pidfile="/var/run/$prog.pid"
58
59 start() {
60     [ -x $exec ] || exit 5
61     echo -n "Starting $prog: "
62     start_daemon -p "$pidfile" $exec -p "$pidfile" 
63     retval=$?
64
65     case "$retval" in
66         0)
67             echo "SUCCESS"
68             ;;
69         *)
70             echo "FAIL"
71             ;;
72     esac
73
74     return $retval
75 }
76
77 stop() {
78     echo -n "Stopping $prog: "
79     killproc -p "$pidfile" $prog
80     retval=$?
81
82     case "$retval" in
83         0)
84             echo "SUCCESS"
85             ;;
86         *)
87             echo "FAIL"
88             ;;
89     esac
90
91     return $retval
92 }
93
94 restart() {
95     stop
96     start
97 }
98
99 force_reload() {
100     restart
101 }
102
103 status() {
104     
105     PID=`pidofproc -p "$pidfile" $prog`
106     retval=$?
107
108     case "$retval" in
109         0)
110             echo "$prog is running with PID=$PID."
111             ;;
112         *)
113             echo "$prog is not running."
114             ;;
115     esac
116
117     return $retval
118
119 }
120
121 case "$1" in
122     start|stop|status|restart|force-reload)
123         $1
124         ;;
125     try-restart)
126         status && restart
127         ;;
128     *)
129         echo "Usage: $0 {start|stop|status|restart|try-restart|force-reload}"
130         exit 2
131 esac
132 exit $?
133