Asynchronous command call

I am trying to use a ruby script to start a apache tomcat server like
this:

dir = “C:\program\apache-tomcat-5.5.20\bin”
#{dir}\\shutdown.bat rescue nil
#{dir}\\startup.bat

This works, except that the program never exits. I would like the
startup call to be made Asynchronous so that the script would just call
startup and then exit.

Ive tried calling startup in a different thread, with the same result.

/Emil

On 05.04.2007 09:52, Guest wrote:

startup and then exit.

Ive tried calling startup in a different thread, with the same result.

You could use cmd’s command “start”.

H:>start /?
Starts a separate window to run a specified program or command.

START [“title”] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL |
/BELOWNORMAL]
[/AFFINITY ] [/WAIT] [/B] [command/program]
[parameters]

 "title"     Title to display in  window title bar.
 path        Starting directory
 B           Start application without creating a new window. The
             application has ^C handling ignored. Unless the 

application
enables ^C processing, ^Break is the only way to
interrupt
the application
I The new environment will be the original environment
passed
to the cmd.exe and not the current environment.
MIN Start window minimized
MAX Start window maximized
SEPARATE Start 16-bit Windows program in separate memory space
SHARED Start 16-bit Windows program in shared memory space
LOW Start application in the IDLE priority class
NORMAL Start application in the NORMAL priority class
HIGH Start application in the HIGH priority class
REALTIME Start application in the REALTIME priority class
ABOVENORMAL Start application in the ABOVENORMAL priority class
BELOWNORMAL Start application in the BELOWNORMAL priority class
AFFINITY The new application will have the specified processor
affinity mask, expressed as a hexadecimal number.
WAIT Start application and wait for it to terminate
command/program
If it is an internal cmd command or a batch file then
the command processor is run with the /K switch to
cmd.exe.
This means that the window will remain after the
command
has been run.

             If it is not an internal cmd command or batch file then
             it is a program and will run as either a windowed

application
or a console application.

 parameters  These are the parameters passed to the command/program

If Command Extensions are enabled, external command invocation
through the command line or the START command changes as follows:

non-executable files may be invoked through their file association just
by typing the name of the file as a command. (e.g. WORD.DOC would
launch the application associated with the .DOC file extension).
See the ASSOC and FTYPE commands for how to create these
associations from within a command script.

When executing an application that is a 32-bit GUI application, CMD.EXE
does not wait for the application to terminate before returning to
the command prompt. This new behavior does NOT occur if executing
within a command script.

When executing a command line whose first token is the string "CMD "
without an extension or path qualifier, then “CMD” is replaced with
the value of the COMSPEC variable. This prevents picking up
CMD.EXE
from the current directory.

When executing a command line whose first token does NOT contain an
extension, then CMD.EXE uses the value of the PATHEXT
environment variable to determine which extensions to look for
and in what order. The default value for the PATHEXT variable
is:

     .COM;.EXE;.BAT;.CMD

 Notice the syntax is the same as the PATH variable, with
 semicolons separating the different elements.

When searching for an executable, if there is no match on any extension,
then looks to see if the name matches a directory name. If it does, the
START command launches the Explorer on that path. If done from the
command line, it is the equivalent to doing a CD /D to that path.

H:>

robert

On Thu, 5 Apr 2007, Guest wrote:

startup and then exit.

Ive tried calling startup in a different thread, with the same result.

use exec

/Emil


Posted via http://www.ruby-forum.com/.

-a