使用intel fortran编写的程序A在程序执行期间,采用systemqq去启动另一个商用计算程序B,目的是想在A中能够使用B生成的结果文件b.dat。

现在遇到问题是,不知道何时B才计算完毕。想通过查询进程B是否存在来判断。但不知道什么语句可实现:查询已知的可执行文件名对应的进程是否存在。

企盼大家给点建议。非常感谢。

 

我现在的做法是想在B程序执行期间,不停查询其结果文件b.dat是否生成。若生成,表明B进程结束。代码如下,在A程序代码中,写入如下语句

i=systemqq("B.exe")

do while(1)

   inquire(file='b.dat',exist=exists)

   if(exists) exit

end do

open(10,file='b.dat')

....

...

程序在执行到inquire的时候就会报出读写内存错误。