blob: 2515a9add768f9a9557bb62d888c98998f9e5abd (
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
|
#!/sbin/openrc-run
# Copyright 2020 Agostino Sarubbo <ago@gentoo.org>
# Distributed under the terms of the GNU General Public License v2
PIDFILE="/run/${SVCNAME}.pid"
start() {
ebegin "Starting ${SVCNAME}"
start-stop-daemon \
--start \
--quiet \
--background \
--stdout ${CATALINA_HOME}/logs/catalina.out \
--stderr ${CATALINA_HOME}/logs/catalina.out \
--chdir ${CATALINA_TMPDIR} \
--user ${SVCNAME}:${SVCNAME} \
--make-pidfile --pidfile ${PIDFILE} \
--exec java \
-- \
${JAVA_OPTS} \
org.apache.catalina.startup.Bootstrap \
start
eend $?
}
stop() {
MYPID="$( cat ${PIDFILE} )"
ebegin "Stopping ${SVCNAME}"
start-stop-daemon \
--stop \
--quiet \
--retry=60 \
--pidfile ${PIDFILE} \
--exec java \
-- \
${JAVA_OPTS} \
-Xms64m -Xmx64m \
org.apache.catalina.startup.Bootstrap \
stop
sleep 5
# check if the pid still exist and wait for a graceful shutdown
COUNT="1"
while [ -n "$( ps -p ${MYPID} | grep ${MYPID} )" ] && [ "${COUNT}" -lt "5" ]
do
echo "Waiting ${SVCNAME} stop for 3 seconds"
sleep 3
let COUNT++
done
# if the pid still exists, then kill it
if [ -n "$( ps -p ${MYPID} | grep ${MYPID} )" ]
then
start-stop-daemon --stop --quiet --pidfile ${PIDFILE} --signal=9
kill -9 ${MYPID}
fi
# WIPE temp and work
rm ${CATALINA_HOME}/temp/* -fr
rm ${CATALINA_HOME}/work/* -fr
eend $?
}
|