xref: /onnv-gate/usr/src/cmd/cmd-inet/usr.lib/slpd/slp (revision 0:68f95e015346)
1*0Sstevel@tonic-gate#!/sbin/sh
2*0Sstevel@tonic-gate#
3*0Sstevel@tonic-gate# CDDL HEADER START
4*0Sstevel@tonic-gate#
5*0Sstevel@tonic-gate# The contents of this file are subject to the terms of the
6*0Sstevel@tonic-gate# Common Development and Distribution License, Version 1.0 only
7*0Sstevel@tonic-gate# (the "License").  You may not use this file except in compliance
8*0Sstevel@tonic-gate# with the License.
9*0Sstevel@tonic-gate#
10*0Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11*0Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
12*0Sstevel@tonic-gate# See the License for the specific language governing permissions
13*0Sstevel@tonic-gate# and limitations under the License.
14*0Sstevel@tonic-gate#
15*0Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
16*0Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17*0Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
18*0Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
19*0Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
20*0Sstevel@tonic-gate#
21*0Sstevel@tonic-gate# CDDL HEADER END
22*0Sstevel@tonic-gate#
23*0Sstevel@tonic-gate#
24*0Sstevel@tonic-gate# Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
25*0Sstevel@tonic-gate# Use is subject to license terms.
26*0Sstevel@tonic-gate#
27*0Sstevel@tonic-gate#ident	"%Z%%M%	%I%	%E% SMI"
28*0Sstevel@tonic-gate#
29*0Sstevel@tonic-gate# Service Method Support Script for the SLP service
30*0Sstevel@tonic-gate#
31*0Sstevel@tonic-gate# - operates a proxy for slpd which brings up the JVM to run slpd
32*0Sstevel@tonic-gate#   when required by a client; this prevents keeping JVM's alive
33*0Sstevel@tonic-gate#   when the service is not in use.
34*0Sstevel@tonic-gate#
35*0Sstevel@tonic-gate
36*0Sstevel@tonic-gate. /lib/svc/share/smf_include.sh
37*0Sstevel@tonic-gate
38*0Sstevel@tonic-gateCONF=/etc/inet/slp.conf
39*0Sstevel@tonic-gateJAVA_BIN=/usr/j2se/bin/java
40*0Sstevel@tonic-gateCLASSPATH=/usr/share/lib/slp/slpd.jar
41*0Sstevel@tonic-gateMAIN_CLASS=com.sun.slp.slpd
42*0Sstevel@tonic-gateSLPD_HOME=/usr/lib/inet
43*0Sstevel@tonic-gateSLPD=slpd
44*0Sstevel@tonic-gateSLPD_BIN=$SLPD_HOME/$SLPD
45*0Sstevel@tonic-gate
46*0Sstevel@tonic-gatecase "$1" in
47*0Sstevel@tonic-gate'start')
48*0Sstevel@tonic-gate	# Start slpd proxy (as a fragile dependency, conf file must exist)
49*0Sstevel@tonic-gate	$SLPD_BIN -f $CONF >/dev/msglog 2>&1 &
50*0Sstevel@tonic-gate	;;
51*0Sstevel@tonic-gate
52*0Sstevel@tonic-gate'stop')
53*0Sstevel@tonic-gate	# Kill the slpd proxy.
54*0Sstevel@tonic-gate	/usr/bin/pkill -x -u 0 -P 1 -z `/sbin/zonename` $SLPD
55*0Sstevel@tonic-gate
56*0Sstevel@tonic-gate	# If a configuration file exists signal a shutdown to the real slpd.
57*0Sstevel@tonic-gate	[ -f $CONF  ] && {
58*0Sstevel@tonic-gate		$JAVA_BIN -classpath $CLASSPATH \
59*0Sstevel@tonic-gate       		    $MAIN_CLASS stop -f $CONF >/dev/msglog 2>&1 &
60*0Sstevel@tonic-gate
61*0Sstevel@tonic-gate	       	# Give the above slpd instance a chance to signal
62*0Sstevel@tonic-gate	       	# a shutdown to the real slpd instance. If after
63*0Sstevel@tonic-gate	       	# this time it has hung kill it.
64*0Sstevel@tonic-gate	       	sleep 5
65*0Sstevel@tonic-gate
66*0Sstevel@tonic-gate	       	# The pattern must not exceed 80 chars!
67*0Sstevel@tonic-gate	       	/usr/bin/pkill -x -f -u 0 -P 1,$$  -z `/sbin/zonename` \
68*0Sstevel@tonic-gate	       	    "${JAVA_BIN}.*-classpath ${CLASSPATH} .*"
69*0Sstevel@tonic-gate	}
70*0Sstevel@tonic-gate
71*0Sstevel@tonic-gate	# Kill the slpd proxy service contract
72*0Sstevel@tonic-gate	smf_kill_contract $2 TERM 1
73*0Sstevel@tonic-gate	[ $? -ne 0 ] && exit 1
74*0Sstevel@tonic-gate	;;
75*0Sstevel@tonic-gate*)
76*0Sstevel@tonic-gate	echo "Usage: $0 { start | stop }"
77*0Sstevel@tonic-gate	exit 1
78*0Sstevel@tonic-gate	;;
79*0Sstevel@tonic-gateesac
80*0Sstevel@tonic-gateexit 0
81