Re: [ROOT] gSystem->Exec()

From: Anton Fokin (anton.fokin@smartquant.com)
Date: Fri Apr 19 2002 - 21:59:13 MEST


Thanks, this works.

Cheers,
Anton

http://www.smartquant.com


----- Original Message -----
From: "Valeri Fine" <fine@bnl.gov>
To: "Anton Fokin" <anton.fokin@smartquant.com>; "roottalk"
<roottalk@pcroot.cern.ch>
Sent: Wednesday, April 17, 2002 4:39 PM
Subject: Re: [ROOT] gSystem->Exec()


>
>
> > if I have a running root application and try to run another
> > application/execute command via gSystem->Exec(), the primary application
> > freezes until command is finished. How can I avoid this, i.e. start an
> > independent/separate process/program?
>
>
>   There is no generic solution (TSystem::Exec interface defines only
parameter)
>   Consider to use "start" shell command.
>   try "help start" from command prompt window on each platofrm to see the
difference>
>   For Windows MT line (NT 4.0, W2K, XP) this is as follows:
>
>
> C:\>help start
> Starts a separate window to run a specified program or command.
>
> START ["title"] [/Dpath] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
>       [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
>       [/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
>     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.
>
>
> >
> > I am on windows.
> >
> > Cheers,
> > Anton
> >
> > http://www.smartquant.com
> >
> >
> >
>
>
>



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:50 MET