如何将两个顺序命令与TCL中的其他命令并行化?

时间:2017-03-10 13:17:27

标签: tcl

我想从Tcl调用3个C程序(prog1,prog2,prog3)。但他们有一些依赖关系:

  1. prog1必须在调用prog2之前完成。
  2. prog1需要在prog3之前调用。
  3. prog1不会完成(阻止),直到prog3开始执行。
  4. prog3赢了,直到prog2结束。
  5. 所以,一些伪代码来展示我想要实现的目标。

      

    (prog1; prog2)&

         

    PROG3

    我怎样才能在TCL中做到这一点?

2 个答案:

答案 0 :(得分:1)

以下解决方案适用于我:

exec sh -c "prog1; prog2" & 
exec prog3

答案 1 :(得分:0)

首先创建一个帮助脚本来运行prog1和prog2(这可能是预制脚本而不是动态创建它):

set fh [open prog1prog2.tcl w]
puts $fh {exec prog1}
puts $fh {exec prog2 &}
close $fh

然后运行脚本:

exec [info nameofexecutable] prog1prog2.tcl &
exec prog3

如果您不需要等待程序完成,最后一个exec可以附加一个&符号。