>> # /etc/init.d/script restart << this runs fine, returns my shell prompt >> # exit << When I enter this command, my shell window just stays >> "stuck" and actually won't close down. >> >> Anyone know why this happens? > > Are you spawning/backgrounding jobs in the script? Here is the script, it is a fairly simple start/stop/reset script that was written by Jay Farschman. One other question I had about this script is what the "$PROG" variable in the stop() function is for. #!/bin/sh # # swatchrc This shell script takes care of starting and stopping # swatch. # # chkconfig: 2345 81 31 # description: Swatch is a System WATCHdog program that we are # using here to block repeated failed ssh logins. # processname: swatch # Replace --tail-file with the file you wish to watch, see /etc/swatch/swatchrc RETVAL=0 test -x /usr/bin/swatch || exit 0 start(){ echo "Starting swatch" # Spawn a new swatch program /usr/bin/swatch --daemon --config-file=/etc/swatch/swatchrc --tail-file=/u sr/local/ha-tomcat/logs/catalina.out --pid-file=/var/run/swatch.pid echo $PID return $RETVAL } stop () { # stop daemon echo "Stopping swatch:" $PROG kill -9 `cat /var/run/swatch.pid` rm -f /var/run/swatch.pid killall tail return $RETVAL } restart () { stop start RETVAL=$? return $RETVAL } case "$1" in start) start ;; stop) stop ;; restart) restart ;; *) echo "Usage: $0 {start|stop|restart}" RETVAL=1 esac exit $RETVAL