468,510 Members | 1,738 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 468,510 developers. It's quick & easy.

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("simulator_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("simulator_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_command and handle at gdb>

-Thanks
Vikas
Jul 19 '05 #1
1 3552
"Vikas Vijay" <vi****@ececs.uc.edu> wrote in message
news:ce*************************@posting.google.co m
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("simulator_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("simulator_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_command and handle at gdb>

-Thanks
Vikas

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)

Jul 19 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

22 posts views Thread by Brett Romero | last post: by
4 posts views Thread by colson | last post: by
4 posts views Thread by Diffident | last post: by
1 post views Thread by fmendoza | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.