~upstart-devel/upstart/upstart-jobs

« back to all changes in this revision

Viewing changes to etc/init.d/crtmpserver

  • Committer: Dimitri John Ledkov
  • Date: 2014-05-06 18:45:46 UTC
  • Revision ID: dimitri.ledkov@canonical.com-20140506184546-5toyx56xxrue0f0v
auto update

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/bin/sh
2
 
### BEGIN INIT INFO
3
 
# Provides:          crtmpserver
4
 
# Required-Start:    $network $local_fs $remote_fs
5
 
# Required-Stop:     $remote_fs
6
 
# Default-Start:     2 3 4 5
7
 
# Default-Stop:      0 1 6
8
 
# Short-Description: C++ RTMP/RTSP streaming server
9
 
# Description:       High performance RTMP/RTSP/MPEG-TS streaming server
10
 
### END INIT INFO
11
 
 
12
 
# Author: Andriy Beregovenko <jet@jet.kiev.ua>
13
 
 
14
 
PATH=/sbin:/usr/sbin:/bin:/usr/bin
15
 
DESC="C++ RTMP Server"
16
 
NAME=crtmpserver
17
 
DAEMON=/usr/sbin/crtmpserver
18
 
DAEMON_ARGS=" --daemon "
19
 
DAEMON_CONF="/etc/crtmpserver/crtmpserver.lua"
20
 
DAEMON_USER="root"
21
 
PIDFILE=/var/run/$NAME.pid
22
 
SCRIPTNAME=/etc/init.d/$NAME
23
 
ENABLED="no"
24
 
 
25
 
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
26
 
 
27
 
[ -x $DAEMON ] || exit 0
28
 
[ -r $DAEMON_CONF ] || exit 0
29
 
 
30
 
[ $ENABLED = "yes" ] || exit 0
31
 
 
32
 
. /lib/init/vars.sh
33
 
. /lib/lsb/init-functions
34
 
 
35
 
DAEMON_UID=$(getent passwd ${DAEMON_USER} | cut -d":" -f3)
36
 
if [ -z "${DAEMON_UID}" ]; then
37
 
        echo "Error: User ${DAEMON_USER} does not exist."
38
 
        exit 1
39
 
fi
40
 
 
41
 
UID_ARG=" --uid=${DAEMON_UID} "
42
 
 
43
 
do_start()
44
 
{
45
 
        start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
46
 
                || return 1
47
 
        start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
48
 
                $DAEMON_ARGS $UID_ARG $DAEMON_CONF \
49
 
                || return 2
50
 
}
51
 
 
52
 
do_stop()
53
 
{
54
 
        start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
55
 
        RETVAL="$?"
56
 
        [ "$RETVAL" = 2 ] && return 2
57
 
 
58
 
        start-stop-daemon --stop --quiet --oknodo --retry=INT/30/KILL/5 --exec $DAEMON
59
 
        [ "$?" = 2 ] && return 2
60
 
 
61
 
        rm -f $PIDFILE
62
 
        return "$RETVAL"
63
 
}
64
 
 
65
 
case "$1" in
66
 
  start)
67
 
    log_daemon_msg "Starting $DESC " "$NAME"
68
 
    do_start
69
 
    case "$?" in
70
 
                0|1) log_end_msg 0 ;;
71
 
                2) log_end_msg 1 ;;
72
 
        esac
73
 
  ;;
74
 
  stop)
75
 
        log_daemon_msg "Stopping $DESC" "$NAME"
76
 
        do_stop
77
 
        case "$?" in
78
 
                0|1) log_end_msg 0 ;;
79
 
                2) log_end_msg 1 ;;
80
 
        esac
81
 
        ;;
82
 
  status)
83
 
       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
84
 
       ;;
85
 
  restart)
86
 
        log_daemon_msg "Restarting $DESC" "$NAME"
87
 
        do_stop
88
 
        case "$?" in
89
 
          0|1)
90
 
                do_start
91
 
                case "$?" in
92
 
                        0) log_end_msg 0 ;;
93
 
                        1) log_end_msg 1 ;; # Old process is still running
94
 
                        *) log_end_msg 1 ;; # Failed to start
95
 
                esac
96
 
                ;;
97
 
          *)
98
 
                # Failed to stop
99
 
                log_end_msg 1
100
 
                ;;
101
 
        esac
102
 
        ;;
103
 
  force-reload)
104
 
        restart
105
 
        ;;
106
 
  *)
107
 
        echo "Usage: $SCRIPTNAME {start|stop|status|restart}" >&2
108
 
        exit 3
109
 
        ;;
110
 
esac
111
 
 
112
 
: