10
10
# Description: shiny-server deploys R shiny applications
11
11
# ## END INIT INFO
12
12
13
+ prog=shiny-server
14
+ logfile=" /var/log/${prog} .log"
15
+ lockfile=" /var/run/${prog} .pid"
16
+
17
+ execute=$( which $prog )
18
+
19
+ # Exit if the package is not installed
20
+ if [ ! -x " $execute " ] ; then
21
+ echo -n $" $prog wasn't found or isn't executable."
22
+ exit 1
23
+ fi
13
24
14
25
# Source LSB init functions
15
26
. /etc/rc.status
@@ -21,43 +32,61 @@ case "$1" in
21
32
start)
22
33
echo -n " Starting shiny-server "
23
34
24
- # # Start daemon with startproc(8). If this fails
25
- # # the return value is set appropriately by startproc.
26
- /sbin/startproc shiny-server
35
+ if [ -e $lockfile ] && [ -e /proc/` cat /var/run/shiny-server.pid` ]; then
36
+ echo -n " cannot start shiny-server: already running."
37
+ rc_failed 3
38
+ else
39
+ $execute --daemon " --pidfile=$lockfile " >> $logfile &
40
+ retval=$?
41
+ [ $retval -eq 0 ] && echo -n || rc_failed 1
42
+ fi
27
43
28
44
# Remember status and be verbose
29
45
rc_status -v
30
46
;;
31
47
stop)
32
- echo -n " Shutting down shiny-server "
33
-
34
- # # Stop daemon with killproc(8) and if this fails
35
- # # killproc sets the return value according to LSB.
36
- /sbin/killproc shiny-server
37
-
48
+ echo -n $" Stopping shiny-server: "
49
+ if [ ! -e $lockfile ] || [ ! -e /proc/` cat /var/run/shiny-server.pid` ]; then
50
+ echo -n " cannot stop shiny-server: not running."
51
+ rc_failed 1
52
+ else
53
+ kill ` cat " $lockfile " `
54
+ retval=$?
55
+ [ $retval -eq 0 ] && echo -n || rc_failed 1
56
+ fi
57
+
38
58
# Remember status and be verbose
39
59
rc_status -v
40
60
;;
41
61
restart)
42
62
# # Stop the service and regardless of whether it was
43
63
# # running or not, start it again.
44
64
$0 stop
65
+ sleep 1
45
66
$0 start
46
67
47
68
# Remember status and be quiet
48
69
rc_status
49
70
;;
50
71
reload)
51
- echo -n " Reload shiny-server"
52
- /sbin/killproc -HUP shiny-server
72
+ echo -n $" Reloading shiny-server: "
73
+ if [ ! -e $lockfile ] || [ ! -e /proc/` cat /var/run/shiny-server.pid` ]; then
74
+ echo -n $" cannot reload shiny-server: not running." ;
75
+ rc_failed 1
76
+ else
77
+ kill -1 ` cat " $lockfile " `
78
+ retval=$?
79
+ [ $retval -eq 0 ] && echo -n || rc_failed 1
80
+ fi
81
+
53
82
rc_status -v
54
83
;;
55
84
status)
56
- echo -n " Checking for service rstudio -server"
85
+ echo -n " Checking for service shiny -server"
57
86
58
- # # Check status with checkproc(8), if process is running
59
- # # checkproc will return with exit status 0.
60
- /sbin/checkproc shiny-server
87
+ if [ ! -e $lockfile ] || [ ! -e /proc/ ` cat /var/run/shiny-server.pid ` ] ; then
88
+ rc_failed 2
89
+ fi
61
90
62
91
# Remember status and be verbose
63
92
rc_status -v
0 commit comments