tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rainer Jung <rainer.j...@kippdata.de>
Subject Re: Using eval vs. exec in shell scripts
Date Sun, 26 Jun 2011 18:35:31 GMT
On 26.06.2011 17:59, bradleymccrorey wrote:
> 
> 
> Rainer Jung-3 wrote:
>>
>>>
>>> You can clearly see here that there are two processes: one for the shell
>>> script, and one for the actual java process. Is this not what I should be
>>> seeing?
>>
>> You should, bot only when using "run", which is precisely meant to not
>> decouple the console from the process.
>>
>>
> 
> Hm. Perhaps we're trying to achieve different things here. With the old
> scripts, the behavior of the "run" switch was that the process would not
> fork, and would remain in the foreground, and only have one process (the
> java process). The new version seems to imitate this by leaving the running
> java process in the foreground of the current shell. However, there are
> still *2* processes: one for the catalina.sh, and one for java. This is a
> fundamental change in the way the script behaves.
> 
> Does this clarify what I'm trying to achieve? Sorry if I'm being
> thick-headed, and thanks very much for your consideration.

Fixed for "run" in r1139904.

Please try the following change (eval -> eval exec):

Index: catalina.sh
===================================================================
--- catalina.sh (revision 1139151)
+++ catalina.sh (working copy)
@@ -312,7 +312,7 @@
       echo "Using Security Manager"
     fi
     shift
-    eval \"$_RUNJAVA\" \"$LOGGING_CONFIG\" $JAVA_OPTS $CATALINA_OPTS \
+    eval exec \"$_RUNJAVA\" \"$LOGGING_CONFIG\" $JAVA_OPTS $CATALINA_OPTS \
       -Djava.endorsed.dirs=\"$JAVA_ENDORSED_DIRS\" -classpath
\"$CLASSPATH\" \
       -Djava.security.manager \
       -Djava.security.policy==\"$CATALINA_BASE/conf/catalina.policy\" \
@@ -321,7 +321,7 @@
       -Djava.io.tmpdir=\"$CATALINA_TMPDIR\" \
       org.apache.catalina.startup.Bootstrap "$@" start
   else
-    eval \"$_RUNJAVA\" \"$LOGGING_CONFIG\" $JAVA_OPTS $CATALINA_OPTS \
+    eval exec \"$_RUNJAVA\" \"$LOGGING_CONFIG\" $JAVA_OPTS $CATALINA_OPTS \
       -Djava.endorsed.dirs=\"$JAVA_ENDORSED_DIRS\" -classpath
\"$CLASSPATH\" \
       -Dcatalina.base=\"$CATALINA_BASE\" \
       -Dcatalina.home=\"$CATALINA_HOME\" \


Regards,

Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Mime
View raw message