Re: How to do stop-start fast?

2002-07-31 Thread Aleksi Kallio


After a couple of fixes the script started working, but Tomcat still 
hangs. So I guess netstat can't be used for that. Anyway, I have a 
simple "sleep 3" hack that works perfectly, so this is not an issue...

> Something like this may work (just a quick hack so there may be typos)
> 
> --start cut here for script
> #!/bin/sh
> ###
> # restart.sh
> # restarts tomcat
> # usage: restart.sh ip port
> #ip   - The ip address (or *)
> #port - Which tomcat listens on shutdown
> #
> #  eg: restart.sh '*' 8005
> #  restart.sh 127.0.0.1  8005
> #  restart.sh 192.168.0.100  8005
> #  restart.sh 207.46.230.218  8005
> ###
> 
> 
> ###
> # Function to check it tomcat is running
> # I run wacky UNIX flavor so you netstat
> # may differ from mine
> # side effect: sets variable IS_RUNNING
> # to signify tomcat is listening on port
> ###
> TC_check()
> {
>   Q="$ADDRESS.$PORT"
>   # Grep wants tcp connection that are Listening on the port/address
>   IS_RUNNING=`netstat -an|egrep '^tcp'|grep LISTEN|grep "$Q"|wc -l`
> }
> 
> 
> ###
> # First - is there a TOMCAT_HOME
> # so I can call shutdown?
> 
> if test "$TOMCAT_HOME" = "" ; then
>   echo "TOMCAT_HOME not defined!"
>   exit 2
> fi
> 
> ###
> # Now check the incoming args
> ADDRESS=$1
> PORT=$2
> 
> if test "$ADDRESS" = "" ; then
>   echo "In valid arg - no address given!"
>   exit 2
> fi
> 
> if test "$PORT" = "" ; then
>   echo "In valid arg - no port given!"
>   exit 2
> fi
> 
> 
> ###
> # Now for the fun
> TC_check
> if [ IS_RUNNING -eq 1 ] ; then
>   echo "Its running - let's shutdown"
>   $TOMCAT_HOME/bin/shutdown.sh
>   TC_check
> fi
> 
> 
> while [ IS_RUNNING -eq 1 ] ; do
>   echo "Still running"
>   sleep 1
>   TC_check
> done
> 
> echo "Now startup ..."
> $TOMCAT_HOME/bin/startup.sh
> ##
> # End of script
> ##
> 
> Aleksi Kallio wrote:
> 
>> Thanks for your fast reply! The netstat alternative seems reasonable. 
>> I'm quite new to Unix (server is running Red Hat Linux, shell is csh) 
>> and have problems implementing the script.
>>
>> Getting the netstat listing and grepping it is no problem, but how I 
>> can loop in a shell script while "netstat -l | grep '8442'" returns 
>> something ie. socket is alive (8442 is the port number)?
>>
>>> You have a few alternatives:
>>> 1) Kill the java process and then you can run startup.sh immediatetly
>>> 2) Write a wrapper script which calls shutdown.sh, then does one of 
>>> the following to verify tomcat is shutdown before calling startup.sh
>>>   a) The process is non-existent
>>>   b) The port is no taken (use netstat)
>>>   c) Parse catalina.out for the phrase saying tomcat was shutdown
>>>
>>> -Tim
>>>
>>>
>>> Aleksi Kallio wrote:
>>>
>>>> I have a script that stops Tomcat (shutdown.sh), does stuff and then
>>>> restarts it (startup.sh). Doing stuff doesn't take long enough and
>>>> Tomcat refuses to restart because the port is still reserved.
>>>>
>>>> Removing the restart from script and waiting a few secs after running
>>>> the script, then restarting manually, works. It is just a bit
>>>> frustrating. Also if a restart too early, Tomcat fails to start and
>>>> produces a process that has to be killed by hand and it's also 
>>>> frustrating.
>>>>
>>>> How to check if Tomcat is stopped properly?
>>>>
>>>>  
>>>
>>>
>>>
>>>
>>>
>>> -- 
>>> To unsubscribe, e-mail:   
>>> <mailto:[EMAIL PROTECTED]>
>>> For additional commands, e-mail: 
>>> <mailto:[EMAIL PROTECTED]>
>>
>>
>>
>>
>>
>>
>>
> 
> 
> 
> -- 
> To unsubscribe, e-mail:   
> <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: 
> <mailto:[EMAIL PROTECTED]>




--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>




How to do stop-start fast?

2002-07-17 Thread Aleksi Kallio

I have a script that stops Tomcat (shutdown.sh), does stuff and then
restarts it (startup.sh). Doing stuff doesn't take long enough and
Tomcat refuses to restart because the port is still reserved.

Removing the restart from script and waiting a few secs after running
the script, then restarting manually, works. It is just a bit
frustrating. Also if a restart too early, Tomcat fails to start and
produces a process that has to be killed by hand and it's also frustrating.

How to check if Tomcat is stopped properly?





--
To unsubscribe, e-mail:   
For additional commands, e-mail: