xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-extended/watchdog/watchdog/wd_keepalive.init (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1#!/bin/sh
2#/etc/init.d/wd_keepalive: start wd_keepalive daemon.
3
4### BEGIN INIT INFO
5# Provides:          wd_keepalive
6# Short-Description: Start watchdog keepalive daemon
7# Required-Start:    $remote_fs
8# Required-Stop:     $remote_fs
9# X-Start-Before:    $all
10# Default-Start:     2 3 4 5
11# Default-Stop
12### END INIT INFO
13
14PATH=/bin:/usr/bin:/sbin:/usr/sbin
15
16test -x /usr/sbin/wd_keepalive || exit 0
17
18# For configuration of the init script use the file
19# /etc/default/watchdog, do not edit this init script.
20
21# Set run_watchdog to 1 to start watchdog or 0 to disable it.
22run_watchdog=0
23
24# Specify additional watchdog options here (see manpage).
25watchdog_options=""
26
27# Specify module to load
28watchdog_module="none"
29
30[ -e /etc/default/watchdog ] && . /etc/default/watchdog
31
32NAME=wd_keepalive
33DAEMON=/usr/sbin/wd_keepalive
34
35STOP_RETRY_SCHEDULE='TERM/10/forever/KILL/1'
36
37# . /lib/lsb/init-functions
38
39# Mock Debian stuff
40log_begin_msg() {
41    echo -n $*
42}
43
44log_end_msg() {
45    if [ "$1" = "0" ]; then
46        echo 'done'
47    else
48        echo 'error'
49    fi
50}
51
52log_daemon_msg() {
53    echo $*
54}
55
56log_progress_msg() {
57    echo $*
58}
59
60
61case "$1" in
62  start)
63    if [ $run_watchdog = 1 ]
64    then
65        [ ${watchdog_module:-none} != "none" ] && /sbin/modprobe $watchdog_module
66	echo -n "Starting watchdog keepalive daemon: "
67	if start-stop-daemon --start --quiet \
68	    --exec $DAEMON -- $watchdog_options
69	then
70	    echo wd_keepalive.
71	else
72	    echo
73	fi
74    fi
75    ;;
76
77  stop)
78    if [ $run_watchdog = 1 ]
79    then
80	echo -n "Stopping watchdog keepalive daemon: "
81	if start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
82	    $STOP_RETRY_SCHEDULE
83	then
84	    echo wd_keepalive.
85	else
86	    echo
87	fi
88    fi
89    ;;
90
91  status)
92    status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
93    ;;
94
95  restart)
96    $0 force-reload
97    ;;
98
99  force-reload)
100    if [ $run_watchdog = 0 ]; then exit 0; fi
101    echo -n "Restarting $NAME daemon."
102    start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
103	$STOP_RETRY_SCHEDULE
104    echo -n "."
105    if start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
106	--exec $DAEMON -- $watchdog_options
107    then
108	echo "done."
109    else
110	echo
111    fi
112    ;;
113
114  *)
115    echo "Usage: /etc/init.d/wd_keepalive {start|stop|status|restart|force-reload}"
116    exit 1
117
118esac
119
120exit 0
121
122