[go: up one dir, main page]

File: mon_statd

package info (click to toggle)
s390-tools 1.6.2-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 2,160 kB
  • ctags: 3,968
  • sloc: ansic: 26,413; asm: 5,072; sh: 4,042; cpp: 1,518; perl: 1,299; makefile: 587
file content (126 lines) | stat: -rwxr-xr-x 2,479 bytes parent folder | download
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#!/bin/bash
### BEGIN INIT INFO
# Provides: mon_statd
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Default-Start:  1 2 3 4 5
# Default-Stop: 0 6
# Short-Description: Configure the mon_fsstatd and mon_procd daemons.
# Description: Configures the mon_fsstatd and mon_procd daemons. It uses the
#              configuration file /etc/sysconfig/mon_statd.
### END INIT INFO

# chkconfig: 12345 01 99

DAEMON=mon_statd
FSSTATD=mon_fsstatd
PROCD=mon_procd
FSSTATD_PATH=/usr/sbin/$FSSTATD
PROCD_PATH=/usr/sbin/$PROCD
CONFIG_FILE=/etc/sysconfig/$DAEMON
FSSTATD_PID_FILE=/var/run/$FSSTATD.pid
PROCD_PID_FILE=/var/run/$PROCD.pid
RETVAL=0

# source function library
. /lib/lsb/init-functions

# Source config file
if [ -f $CONFIG_FILE ]; then
	. $CONFIG_FILE
fi

start()
{
	if [ ! -e /dev/monwriter ]; then
		echo "Loading monwriter module..."
		modprobe monwriter 2>&1
		if [ "$?" -ne 0 ]; then
			exit 1
		fi
		while [ ! -e /dev/monwriter ]; do
			sleep 0
		done
	fi

	if [ ! -f $FSSTATD_PID_FILE -a "$FSSTAT" = "yes" ]; then
		echo -n $"Starting $FSSTATD:"
		$FSSTATD_PATH -i $FSSTAT_INTERVAL && log_success_msg ||
						     log_failure_msg
	elif [ "$FSSTAT" = "yes" ]; then
		echo "$FSSTATD (pid $(cat $FSSTATD_PID_FILE)) is already running..."
	fi

	if [ ! -f $PROCD_PID_FILE -a "$PROC" = "yes" ]; then
		echo -n $"Starting $PROCD:"
		$PROCD_PATH -i $PROC_INTERVAL && log_success_msg ||
						 log_failure_msg
	elif [ "$PROC" = "yes" ]; then
		echo "$PROCD (pid $(cat $PROCD_PID_FILE)) is already running..."
	fi
	echo
}

stop()
{
	echo -n $"Stopping $FSSTATD:"
	if [ -f $FSSTATD_PID_FILE ]; then
		killproc $FSSTATD_PATH -TERM
		log_success_msg
		rm -f $FSSTATD_PID_FILE
	else
		log_failure_msg
	fi

	echo -n $"Stopping $PROCD:"
	if [ -f $PROCD_PID_FILE ]; then
		killproc $PROCD_PATH -TERM
		log_success_msg
		rm -f $PROCD_PID_FILE
	else
		log_failure_msg
	fi
	echo
}

restart() {
	stop
	start
}

status()
{
	if [ ! -f $FSSTATD_PID_FILE ]; then
		echo "$FSSTATD is not running."
	else
		echo "$FSSTATD (pid $(cat $FSSTATD_PID_FILE), interval: $FSSTAT_INTERVAL) is running."
	fi

	if [ ! -f $PROCD_PID_FILE ]; then
		echo "$PROCD is not running."
	else
		echo "$PROCD (pid $(cat $PROCD_PID_FILE), interval: $PROC_INTERVAL) is running."
	fi
	echo
}

# How are we called?
case "$1" in
	start)
		start
		;;
	stop)
		stop
		;;
	status)
		status
		;;
	restart|reload)
		restart
		;;
	*)
		echo "Usage: $DAEMON {start|stop|status|restart|reload}"
		RETVAL=1
esac

exit $RETVAL