TCL连接到现有流程

时间:2014-07-09 13:03:16

标签: tcl expect

假设我使用TCL脚本生成了一个SSH会话。如何从另一个TCL脚本与此会话进行交互?是否可以连接到已由另一个脚本生成的进程?

1 个答案:

答案 0 :(得分:2)

最简单的方法是在ssh会话中使用GNU screen。然后,您可以在期望脚本中断开它,然后从另一个ssh会话(当然可能在您的期望脚本中)重新连接到它。

使用screen本身是superuser.com的主题,但从expect的角度来看,它并不比自动化内部任何内容复杂得多。 ssh会话之前;也许更多的工作(特别是当你必须处理创建一个新的屏幕会话和找到+连接到现有的会话之间的差异),但它实际上并没有那么多。绝对不如试图以其他方式模仿行为!

想要尝试在屏幕内运行ssh会话(即,与我推荐的相反)。这是因为网络连接最有可能被外部干预拆除。

您可以在本地屏幕中运行您的expect脚本。这超出了我们在这里讨论的范围。