Tcl 在后台使用expect执行并行进程

Tcl 在后台使用expect执行并行进程,tcl,expect,Tcl,Expect,我有一个脚本,它在不同的线卡视差中执行一些命令,问题是脚本在6个线卡上成功运行,但更多的是它说send:spawn id exp10 not open 我正在对脚本中的同一ip进行telnet,然后连接到线路卡,在这里,每个会话脚本都会创建相同的expect spawn id,这就是为什么它会说spawn id未打开,因为以前的一些线路卡的会话可能已过期 但我还是做了一些睡眠,以确保没有后台会话过期,但我发现6个会话expect在后台无法完成 脚本是这行的东西- for {set current

我有一个脚本,它在不同的线卡视差中执行一些命令,问题是脚本在6个线卡上成功运行,但更多的是它说
send:spawn id exp10 not open

我正在对脚本中的同一ip进行telnet,然后连接到线路卡,在这里,每个会话脚本都会创建相同的expect spawn id,这就是为什么它会说spawn id未打开,因为以前的一些线路卡的会话可能已过期

但我还是做了一些睡眠,以确保没有后台会话过期,但我发现6个会话expect在后台无法完成

脚本是这行的东西-

for {set current_card 1} {$current_card <= $cv_total_cards} {incr current_card} {
    puts "Triggering execution on Card $current_card "
    eval exec ./exeCommandsOnLCCards.tcl "some card specific arguments" >/dev/null &
    sleep 5
    }
}
cat exeCommandsOnLCCards.tcl 
spawn telnet <telnet_ip>
expect "'^]'"
sleep 2
expect "login: "
send -- "root\r"
expect "assword: "
send -- "<password>\r"
expect "#"
用于{set current_card 1}{$current_card/dev/null&
睡眠5
}
}
cat exeCommandsOnLCCards.tcl
产卵电信网
应为“^]”
睡眠2
应为“登录”:
发送--“根目录\r”
预期“assword:”
发送--“\r”
期望“#”

如果有人遇到过类似问题,请告诉我。

请忽略此问题。脚本没有问题。 这是由于路由器中的安全限制。如果我增加允许的并行telnet会话,它将开始工作