multiple processes

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Vikas Vijay

    multiple processes

    hello all,
    I have a c++ code in which is sth like

    while(i < N)
    {
    ....
    do some processing in c++ to create file abc
    system("simulat or_name < abc")
    ......c++ ... processing..... .
    }
    The problem is my simulator takes some time T to load and only then
    starts working on the file abc.After completion the simulator is
    exited and the same thing(loading + execution happens in next
    iterations..) Since the number of iterations are huge (wasted time NT)
    i want something like :

    open the simulator only once( just doing system("simulat or_name") and
    get the handle to the simulator prompt. From then on i just load the
    new "abc" file in each iteration, wait for the simulation to complete
    (do not exit the simulator) and start my new iteration.

    I read about creating a new child process(popen command) etc but could
    not figure out exactly how to get a handle to the prompt, and wait
    till the simulation is completed. Also the child process is not to be
    killed otherwise i lose the handle.
    I would appreciate any help/references in this regard. There is
    nothing simulator specific. You can imagine a simple gdb command in
    place of simulator_comma nd and handle at gdb>

    -Thanks
    Vikas
  • John Carson

    #2
    Re: multiple processes

    "Vikas Vijay" <vijayv@ececs.u c.edu> wrote in message
    news:ce59d7c6.0 307191947.e215d 9b@posting.goog le.com[color=blue]
    > hello all,
    > I have a c++ code in which is sth like
    >
    > while(i < N)
    > {
    > ...
    > do some processing in c++ to create file abc
    > system("simulat or_name < abc")
    > .....c++ ... processing..... .
    > }
    > The problem is my simulator takes some time T to load and only then
    > starts working on the file abc.After completion the simulator is
    > exited and the same thing(loading + execution happens in next
    > iterations..) Since the number of iterations are huge (wasted time NT)
    > i want something like :
    >
    > open the simulator only once( just doing system("simulat or_name") and
    > get the handle to the simulator prompt. From then on i just load the
    > new "abc" file in each iteration, wait for the simulation to complete
    > (do not exit the simulator) and start my new iteration.
    >
    > I read about creating a new child process(popen command) etc but could
    > not figure out exactly how to get a handle to the prompt, and wait
    > till the simulation is completed. Also the child process is not to be
    > killed otherwise i lose the handle.
    > I would appreciate any help/references in this regard. There is
    > nothing simulator specific. You can imagine a simple gdb command in
    > place of simulator_comma nd and handle at gdb>
    >
    > -Thanks
    > Vikas[/color]


    This is operating system specific (the boost threads library may allow you
    to make this somewhat platform independent, but I doubt that it will do the
    complete job). I suggest that you post to a newsgroup for your operating
    system.

    Alternatively, it might be simpler to integrate your while() loop into your
    simulator (perhaps your simulator could retrieve data from a file giving
    instructions for each run).


    --
    John Carson
    1. To reply to email address, remove donald
    2. Don't reply to email address (post here instead)

    Comment

    Working...