File: nsdaemon.scripts

package info (click to toggle)
lfc-postgres 1.7.4.7-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 13,676 kB
  • ctags: 10,779
  • sloc: ansic: 146,136; sh: 13,176; perl: 11,142; python: 5,529; cpp: 5,113; sql: 1,790; makefile: 861; fortran: 113
file content (252 lines) | stat: -rwxr-xr-x 6,613 bytes parent folder | download | duplicates (5)
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
#!/bin/sh
#
# nsdaemon         Start/Stop nsdaemon
#
# chkconfig: 345 66 39
# description: NS server daemon
#
# $Id: nsdaemon.scripts,v 1.1.1.1 2003/11/04 09:39:14 baud Exp $
#
# @(#)$RCSfile: nsdaemon.scripts,v $ $Revision: 1.1.1.1 $ $Date: 2003/11/04 09:39:14 $ CERN/IT/ADC/CA Jean-Damien Durand
#

#
## PLEASE USE sysconfig FILE TO CHANGE THESE ENVIRONMENT VARIABLES
#
export ORACLE_HOME=/oracle/product/castor
export LD_LIBRARY_PATH=/oracle/product/castor/lib
export TNS_ADMIN=/opt/oracle/admin
export ORACLE_SID=CASTOR

sysname=`uname -s`

# source function library
if [ -r /etc/rc.d/init.d/functions ]; then
	. /etc/rc.d/init.d/functions
	DAEMON=daemon
	FAILURE=failure
	ECHO_FAILURE=failure
	SUCCESS=success
	ECHO_SUCCESS=echo_success
	ECHO_END=echo
	if [ $sysname = "Linux" ]; then
		ECHOOPT=-n
	fi
else
	DAEMON=
	FAILURE=
	ECHO_FAILURE=
	SUCCESS=
	ECHO_SUCCESS=
	ECHOOPT=
	ECHO_END=
fi

RETVAL=0
prog="nsdaemon"
PIDFILE=/var/run/nsdaemon.pid
PIDDIR=/var/run
SUBSYS=/var/lock/subsys/nsdaemon
SUBSYSDIR=/var/lock/subsys
[ -z "$SILENTSTOP" ] && SILENTSTOP=0
NSDAEMON=/usr/local/bin/nsdaemon
NSSHUTDOWN=/usr/local/bin/nsshutdown
# Not yet supported
NSDAEMONLOGFILE=/var/log/nsdaemon
OPTIONS=""
SYSCONFIGNSDAEMON=/etc/sysconfig/nsdaemon

#
## Blindly attempt to create useful directories
#
[ ! -d $PIDDIR ] && mkdir -p $PIDDIR >& /dev/null
[ ! -d $SUBSYSDIR ] && mkdir -p $SUBSYSDIR >& /dev/null

if [ $sysname = "HP-UX" ]; then
	export UNIX95=1
fi
if [ $sysname = "SunOS" ]; then
	format4comm="fname"
else
	format4comm="comm"
fi

case "$1" in
  start)
	echo $ECHOOPT "Starting $prog: "
	if [ $sysname = "Linux" -a `whoami` = "root" ]; then
        netstat -ap | egrep '\*:5010|\*:cns' | grep LISTEN | grep nsdaemon > /dev/null
    else
        netstat -a  | egrep '\*:5010|\*:cns' | egrep 'LISTEN *$' > /dev/null
    fi
	# ps -eo ppid,$format4comm | egrep '^[ \t]+1 nsdaemon' > /dev/null
	if [ $? -eq 0 ]; then
		echo $ECHOOPT "nsdaemon already started: "
		[ -n "$FAILURE" ] && $FAILURE "nsdaemon already started: "
		RETVAL=1
	else
        if [ -r $SYSCONFIGNSDAEMON ]; then
            #
            ## Source the configuration
            #
            . $SYSCONFIGNSDAEMON
            if [ "${RUN_NSDAEMON}" != "yes" ]; then
                echo $ECHOOPT "$SYSCONFIGNSDAEMON says NO: "
                [ -n "$FAILURE" ] && $FAILURE "$SYSCONFIGNSDAEMON says NO: "
                RETVAL=1
            fi
            if [ -n "${ULIMIT_N}" ]; then
                ulimit -n ${ULIMIT_N}
            fi
        fi
        if [ $RETVAL -eq 0 ]; then
            cd /
            mkdir -p /usr/spool/ns
            $DAEMON $NSDAEMON $OPTIONS
            if [ $? -eq 0 ]; then
                [ -d $SUBSYSDIR ] && touch $SUBSYS
                if [ -d $PIDDIR ]; then
                    pid=`ps -eo pid,ppid,$format4comm | grep " 1 nsdaemon" | awk '{print $1}'`
                    # The point of $PIDFILE is that it kills only
                    # the master daemon.
                    rm -f $PIDFILE
                    echo $pid > $PIDFILE
                fi
                RETVAL=0
            else
                echo $ECHOOPT "nsdaemon not started: "
                [ -n "$FAILURE" ] && $FAILURE "nsdaemon not started: "
                RETVAL=1
            fi
        fi
	fi
	$ECHO_END
	;;
  stop)
	if [ -f $PIDFILE ]; then
		[ $SILENTSTOP -eq 0 ] && echo $ECHOOPT "Stopping $prog: "
        if [ -x $NSSHUTDOWN ]; then
            if [ $SILENTSTOP -eq 0 ]; then
                $NSSHUTDOWN -f -h `hostname`
            else
                $NSSHUTDOWN -f -h `hostname` >& /dev/null
            fi
            RETVAL=$?
            if [ $RETVAL -ne 0 ]; then
                if [ $SILENTSTOP -eq 0 ]; then
                    kill -2 -`cat $PIDFILE`
                else
                    kill -2 -`cat $PIDFILE` >& /dev/null
                fi
                RETVAL=$?
            fi
        else
            if [ $SILENTSTOP -eq 0 ]; then
                kill -2 -`cat $PIDFILE`
            else
                kill -2 -`cat $PIDFILE` >& /dev/null
            fi
            RETVAL=$?
        fi
        if [ $RETVAL -eq 0 ]; then
            rm -f $PIDFILE
        fi
	else
		# nsdaemon might have been started by hand
		pid=`ps -eo pid,ppid,$format4comm | grep " 1 nsdaemon" | awk '{print $1}'`
		if [ -n "$pid" ]; then
			[ $SILENTSTOP -eq 0 ] && echo $ECHOOPT "Stopping $prog: "
            if [ -x $NSSHUTDOWN ]; then
                if [ $SILENTSTOP -eq 0 ]; then
                    $NSSHUTDOWN -f -h `hostname`
                else
                    $NSSHUTDOWN -f -h `hostname` >& /dev/null
                fi
                RETVAL=$?
                if [ $RETVAL -ne 0 ]; then
                    if [ $SILENTSTOP -eq 0 ]; then
                        kill -2 -$pid
                    else
                        kill -2 -$pid >& /dev/null
                    fi
                    RETVAL=$?
                fi
            else
                if [ $SILENTSTOP -eq 0 ]; then
                    kill -2 -$pid
                else
                    kill -2 -$pid >& /dev/null
                fi
                RETVAL=$?
            fi
		else
			[ $SILENTSTOP -eq 0 ] && echo $ECHOOPT "nsdaemon already stopped: "
			[ $SILENTSTOP -eq 0 -a -n "$FAILURE" ] && $FAILURE "nsdaemon already stopped: "
 			RETVAL=1
		fi
	fi
	if [ $SILENTSTOP -eq 0 -a $sysname = "Linux" ]; then
		if [ $RETVAL -eq 0 ]; then
 			$ECHO_SUCCESS
		else
 			$ECHO_FAILURE
		fi
	fi
	[ -d $SUBSYSDIR ] && rm -f $SUBSYS
	[ $SILENTSTOP -eq 0 -a -n "$ECHO_END" ] && $ECHO_END
	;;
  restart)
	$0 stop
	if [ $? -eq 0 ]; then
		$0 start
		RETVAL=$?
	else
        #
        ## It is legal to return zero it if was
        ## a conditional restart
        #
        if [ $SILENTSTOP -eq 0 ]; then
            RETVAL=1
        else
            RETVAL=0
        fi
	fi
	;;
  condrestart)
	SILENTSTOP=1
    export SILENTSTOP
	$0 restart
    RETVAL=$?
	;;
  status)
	pid=`ps -eo pid,ppid,$format4comm | grep " 1 nsdaemon" | awk '{print $1}'`
	if [ -n "$pid" ]; then
		echo $ECHOOPT "nsdaemon (pid $pid) is running..."
		$ECHO_SUCCESS
		$ECHO_END
	else
		if [ -f $PIDFILE ]; then
			pid=`head -1 $PIDFILE`
			if [ "$pid" != "" ] ; then
				echo $ECHOOPT "nsdaemon dead but pid file exists"
				$ECHO_FAILURE
				$ECHO_END
			fi
		else
			if [ -f $SUBSYS ]; then
				echo $ECHOOPT "nsdaemon dead but subsys ($SUBSYS) locked"
			else
				echo $ECHOOPT "nsdaemon is stopped"
			fi
			$ECHO_FAILURE
			$ECHO_END
		fi
	fi
	;;
  *)
	echo "Usage: $0 {start|stop|status|restart|condrestart}"
	RETVAL=1
	;;
esac

exit $RETVAL