我通过命令行运行Modelsim:
catch { exec vsim -c -do run.do } rcode发布于 2016-08-31 09:09:42
要从子进程中获取信息,通常会让子进程不时地写入其标准输出通道。然后,您可以(通过管道)从中读取。
set pipe [open |[list exec vsim -c -do run.do]]
while {[gets $pipe line] >= 0} {
puts "I've just read '$line' from vsim"
}
catch { close $pipe } rcode只要程序确实不时地写行,当它们到达时,您就会收到它们(模块化OS和子进程库缓冲)。上面的代码是同步的;我们也有异步版本(允许您的代码做一些事情,而不是同时等待子进程,例如运行GUI),但是它们的代码通常要长一些。
https://stackoverflow.com/questions/39242767
复制相似问题