I have a single requirement to launch a java application on startup as a service. The application is shipped in a file called jes.jar. It requires three arguments: a dotted quad IP address, an initial service port, and a translated service port.
I can get the application running as a console command. Can someone point me to a site that documents how to script a sys V init.d style script so that I can run this as a daemon process? I tried copying a script in the age old fashion but I seem to be missing something(s).
Lastly, I vaguely recall that there is a way to capture the pid of a program started in the shell but I cannot find any reference to it. I seem to recall that the construct $! or $$ contained the value of the last program run. Can anyone here confirm this and/or provide an example.
I am a digest subscriber so direct responses are appreciated (reply to all).
Sample script
#!/bin/sh # # jes: Java Encryption Server for Javelin NSTV connections. # # chkconfig: - 26 89 # description: Java Encryption Service to support SSL # connections for the Javelin HP3000 NS/VT # emulator java applette. #
# Check if config file readable (and therefore exists). [ -r /etc/sysconfig/jes ] || exit 0
# Read and execute the config file. . /etc/sysconfig/jes
# Check if variable has length zero and exit if true. [ -z "$JESARGS" ] && exit 0
start() { echo -n $"Starting jes as daemon: " /usr/bin/java -cp /usr/local/lib/java/jes.jar Jes $JESARGS touch /var/lock/subsys/jes echo }
stop() { echo -n $"Shutting down jes (Java Encryption Service): " /usr/bin/jes -K killproc jes
rm -f /var/lock/subsys/jes echo }
[ -f /usr/bin/jes ] || exit 0
# See how we were called. case "$1" in start) start ;; stop) stop ;; restart|reload) stop start ;; condrestart) [ -e /var/lock/subsys/jes ] && (stop; start) ;; *) echo $"Usage: $0 {start|stop|restart|reload|condrestart}" exit 1 esac
exit 0
sample configuration file:
# Options to Jes server for secure javelin connections # VTNAME IP address of NSVT host (usually an HP3000) VTNAME="192.168.0.12"
# VTPORT The service port that the NSVT service is listening # on (Usually 1570) VTPORT="1570"
# JESPORT The service port that JES listens to on this host for VT # Javelin connections. This can be any port but it is # required that: # a. This port must be allowed through any exterior # firewalls. # b. The client must have the same port configured # in default.j92 # (or encrypt.j92 if that is what you are using). JESPORT="1570"
# These are concatenated here for use in the init.d script. JESARGS="$VTNAME $VTPORT $JESPORT"
-- *** e-mail is not a secure channel *** mailto:byrnejb.<token>@harte-lyne.ca James B. Byrne Harte & Lyne Limited vox: +1 905 561 1241 9 Brockley Drive fax: +1 905 561 0757 Hamilton, Ontario <token> = hal Canada L8E 3C3