blob: 476741e7bac716d96f3b0bf543b51b2589a2c257 (
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
|
#
# pre-shutdown script to abort shutdown in case noad is running
check_runtime() {
local PID="$1"
# Max runtime of 30m = 1800s
local NOAD_MAX_TIME=1800
local NOW="$(date +%s)"
local START="$(stat --format "%Z" /proc/${PID}/)"
local DIFF=$(( $NOW - $START ))
if [ "${DIFF}" -ge "${NOAD_MAX_TIME}" ]; then
kill ${PID}
sleep 2
kill -9 ${PID}
return 0
else
# There still is a running noad process
return 1
fi
}
check_noad() {
local PIDOF=pidof
local NOAD=/usr/bin/noad
local PIDS=$(${PIDOF} ${NOAD})
local PID
local still_running=0
for PID in $PIDS; do
check_runtime "${PID}"
[ "$?" = "1" ] && still_running=1
done
if [ "${still_running}" -gt "0" ]; then
# stop shutdown
shutdown_abort_can_force "noad is running"
fi
}
check_noad
|