Ah ok now I understood what you want to do .. yep sounds good. Only change you could do is instead of saying "sh -c 'exec java ...'" you could simply say "java ...". Essentially you're creating a shell and immediately running one command so might as well run that command directly.
Sanjiva. On Sat, Apr 16, 2011 at 10:53 AM, Afkham Azeez <az...@wso2.com> wrote: > This is what I'm doing in the wso2server.sh. When I restart, I issue a > System.exit(121) command. So the shel will spawn a new Java process once the > current one exits. This can be done on Windows too with the ERRORLEVEL > variable. So, we are relying on the original process which spawned the java > process to spawn a new instance, instead of the dying java process spawning > a new java process just before it dies. That solution is not working on > certain Windows environments. The exit code based approach is guaranteed to > work since we are handing back the control to the original shell that > spawned the java process. > > Here is the relevant code segment in wso2server.sh > > START_EXIT_STATUS=121; > status=$START_EXIT_STATUS; > > while [ "$status" = "$START_EXIT_STATUS" ] > do > sh -c "exec "$JAVACMD" \ > -Xbootclasspath/a:"$CARBON_XBOOTCLASSPATH" \ > -Xms256m -Xmx512m -XX:MaxPermSize=128m \ > $JAVA_OPTS \ > -Dimpl.prefix=Carbon \ > -Dcom.sun.management.jmxremote \ > -classpath "$CARBON_CLASSPATH" \ > -Djava.endorsed.dirs="$CARBON_HOME/lib/endorsed":"$JAVA_HOME/jre/lib/endorsed":"$JAVA_HOME/lib/endorsed" > \ > -Djava.io.tmpdir="$CARBON_HOME/tmp" \ > -Dwso2.server.standalone=true \ > -Dcarbon.registry.root=/ \ > -Dcarbon.xbootclasspath="$CARBON_XBOOTCLASSPATH" \ > -Djava.command="$JAVACMD" \ > -Dcarbon.home="$CARBON_HOME" \ > -Dwso2.transports.xml="$CARBON_HOME/repository/conf/mgt-transports.xml" \ > -Djava.util.logging.config.file="$CARBON_HOME/lib/log4j.properties" \ > -Dcarbon.config.dir.path="$CARBON_HOME/repository/conf" \ > -Dcomponents.repo="$CARBON_HOME/repository/components/plugins" \ > -Dcom.atomikos.icatch.file="$CARBON_HOME/lib/transactions.properties" \ > -Dcom.atomikos.icatch.hide_init_file_path=true \ > org.wso2.carbon.bootstrap.Bootstrap $*" > > status=$? > > done > > On Sat, Apr 16, 2011 at 10:41 AM, Afkham Azeez <az...@wso2.com> wrote: > >> If you do; >> >> $ exec ./foo.sh >> >> You will simply see the following line; >> [Process completed] >> >> and the control does not return to the current shell. >> >> >> On Sat, Apr 16, 2011 at 10:21 AM, Sanjiva Weerawarana >> <sanj...@wso2.com>wrote: >> >>> No saying "sh -c .." means you're creating a new shell and then exec'ng >>> in there. In that case you might as well just say "java .." (without the >>> exec at all). >>> >>> Doesn't having "exec java" at the end give the return code of the java >>> command to the calling shell? That's what's spsed to happen. >>> >>> Sanjiva. >>> >>> >>> On Sat, Apr 16, 2011 at 9:53 AM, Afkham Azeez <az...@wso2.com> wrote: >>> >>>> Thanks! >>>> >>>> sh -c "exec java ..." >>>> worked! >>>> >>>> Earlier the script only had "exec java ..." >>>> >>>> >>>> On Sat, Apr 16, 2011 at 7:15 AM, Sanjiva Weerawarana >>>> <sanj...@wso2.com>wrote: >>>> >>>>> Its good to use exec so that the parent shell process doesn't hang >>>>> around. That's common practice for shell scripts which set up a bunch of >>>>> stuff and run something else right at the end. >>>>> >>>>> But that should not be a problem as the process exit status should be >>>>> that of the exec'ed command IIRC (new command is run in the same process). >>>>> >>>>> Here's a small test: >>>>> >>>>> $ cat /tmp/foo.sh >>>>> #!/bin/sh >>>>> >>>>> exit 79 >>>>> $ sh -c "exec /tmp/foo.sh" >>>>> $ echo $? >>>>> 79 >>>>> >>>>> Sanjiva. >>>>> >>>>> On Sat, Apr 16, 2011 at 4:13 AM, Afkham Azeez <az...@wso2.com> wrote: >>>>> >>>>>> Instead of simply doing; "java ..." we do "exec java ...". Why have we >>>>>> used exec here? I'm trying to solve the restart issue using exit codes, >>>>>> and >>>>>> when exec is used, the process exit code cannot be captured. >>>>>> >>>>>> -- >>>>>> *Afkham Azeez* >>>>>> Senior Software Architect & Senior Manager; WSO2, Inc.; >>>>>> http://wso2.com, >>>>>> * >>>>>> * >>>>>> *Member; Apache Software Foundation; >>>>>> **http://www.apache.org/*<http://www.apache.org/> >>>>>> * >>>>>> email: **az...@wso2.com* <az...@wso2.com>* cell: +94 77 3320919 >>>>>> blog: **http://blog.afkham.org* <http://blog.afkham.org>* >>>>>> twitter: >>>>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> >>>>>> * >>>>>> linked-in: **http://lk.linkedin.com/in/afkhamazeez* >>>>>> * >>>>>> * >>>>>> *Lean . Enterprise . Middleware* >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Carbon-dev mailing list >>>>>> Carbon-dev@wso2.org >>>>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Sanjiva Weerawarana, Ph.D. >>>>> Founder, Chairman & CEO; WSO2, Inc.; http://wso2.com/ >>>>> email: sanj...@wso2.com; phone: +94 11 763 9614; cell: +94 77 787 6880| +1 >>>>> 650 265 8311 >>>>> blog: http://sanjiva.weerawarana.org/ >>>>> >>>>> Lean . Enterprise . Middleware >>>>> >>>> >>>> >>>> >>>> -- >>>> *Afkham Azeez* >>>> Senior Software Architect & Senior Manager; WSO2, Inc.; http://wso2.com >>>> , >>>> * >>>> * >>>> *Member; Apache Software Foundation; >>>> **http://www.apache.org/*<http://www.apache.org/> >>>> * >>>> email: **az...@wso2.com* <az...@wso2.com>* cell: +94 77 3320919 >>>> blog: **http://blog.afkham.org* <http://blog.afkham.org>* >>>> twitter: >>>> **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> >>>> * >>>> linked-in: **http://lk.linkedin.com/in/afkhamazeez* >>>> * >>>> * >>>> *Lean . Enterprise . Middleware* >>>> >>>> >>> >>> >>> -- >>> Sanjiva Weerawarana, Ph.D. >>> Founder, Chairman & CEO; WSO2, Inc.; http://wso2.com/ >>> email: sanj...@wso2.com; phone: +94 11 763 9614; cell: +94 77 787 6880 | >>> +1 650 265 8311 >>> blog: http://sanjiva.weerawarana.org/ >>> >>> Lean . Enterprise . Middleware >>> >> >> >> >> -- >> *Afkham Azeez* >> Senior Software Architect & Senior Manager; WSO2, Inc.; http://wso2.com, >> * >> * >> *Member; Apache Software Foundation; >> **http://www.apache.org/*<http://www.apache.org/> >> * >> email: **az...@wso2.com* <az...@wso2.com>* cell: +94 77 3320919 >> blog: **http://blog.afkham.org* <http://blog.afkham.org>* >> twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> >> * >> linked-in: **http://lk.linkedin.com/in/afkhamazeez* >> * >> * >> *Lean . Enterprise . Middleware* >> >> > > > -- > *Afkham Azeez* > Senior Software Architect & Senior Manager; WSO2, Inc.; http://wso2.com, > * > * > *Member; Apache Software Foundation; > **http://www.apache.org/*<http://www.apache.org/> > * > email: **az...@wso2.com* <az...@wso2.com>* cell: +94 77 3320919 > blog: **http://blog.afkham.org* <http://blog.afkham.org>* > twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> > * > linked-in: **http://lk.linkedin.com/in/afkhamazeez* > * > * > *Lean . Enterprise . Middleware* > > -- Sanjiva Weerawarana, Ph.D. Founder, Chairman & CEO; WSO2, Inc.; http://wso2.com/ email: sanj...@wso2.com; phone: +94 11 763 9614; cell: +94 77 787 6880 | +1 650 265 8311 blog: http://sanjiva.weerawarana.org/ Lean . Enterprise . Middleware
_______________________________________________ Carbon-dev mailing list Carbon-dev@wso2.org http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev