summaryrefslogtreecommitdiffstats
path: root/shellinabox/build/rc.shellinabox
blob: f35547942836cf969961187a67fc9464c7d5d6ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/bin/bash
#
# shellinabox   This shell script takes care of starting and stopping
#               shellinabox.
#
# description: Publish command line shell through AJAX interface.
# processname: shellinaboxd
# config: /etc/sysconfig/shellinabox
# pidfile: /var/run/shellinaboxd.pid

# Source shellinabox configureation.
if [ -f /etc/sysconfig/shellinabox ] ; then
  . /etc/sysconfig/shellinabox
fi

RETVAL=0
prog="shellinaboxd"
SHELLINABOXD="/usr/sbin/$prog"
LOCKFILE="/var/lock/subsys/shellinaboxd"
PIDFILE="/var/run/shellinaboxd.pid"

[ -f $SHELLINABOXD ] || exit 0

start() {
  echo -n $"Starting $prog: "
  $SHELLINABOXD --background=$PIDFILE $DAEMON_OPTIONS
  RETVAL=$?
  echo
  [ $RETVAL -eq 0 ] && touch $LOCKFILE
  return $RETVAL
}

stop() {
  # Stop daemons.
  echo -n $"Shutting down $prog: "
  killall -TERM $prog
  RETVAL=$?
  echo
  [ $RETVAL -eq 0 ] && rm -f $LOCKFILE
  return $RETVAL
}

status() {
  PIDS=$(pidof $prog)
  if [ "$PIDS" == "" ]; then
    echo "$prog is not running!"
  else
    echo "$prog is running at pid(s) ${PIDS}."
  fi
}

# See how we were called.
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    RETVAL=$?
    ;;
  status)
    status
    RETVAL=$?
    ;;
  *)
    echo $"Usage: $0 {start|stop|restart|status}"
    exit 1
esac

exit $RETVAL