关于perl程序如何从没有响应的telnet中退出的问题

关于perl程序如何从没有响应的telnet中退出的问题

在用perl的expect模块时,有时候会遇到server不可达,这样就会导致在expect->send("telnet x.x.x.x")后,整个程序就死在这个地方,后面的expect->send()函数都会将命令输入到这个没有响应的telnet进程中,所以是无效的。我想问在perl中如何退出当前的telnet进程,然后再进行其他操作呢?
设定timeout..最後面不要die....或exit....


例如:碰到timeout时..送Ctrl + C 的signal出去...
我记得应该是\03
这种情况是当你藉由其他Server连到目标machine时...当目标machine无法正常退出telnet..可用\03强迫退出回到Server...
如果你没有藉由其他Server..送出\03...则程序可能会自动终止喔..因为perl透过目前shell spawn一个process 去执行 expect...
退回後..该spawn的process 就会结束...
当然也可以利用spawn("bash telnet ");
这样子..会先产生一个shell..然後执行telnet....退回後只会回到该bash环境.....

哈哈,很强大,用\03可以实现Ctrl + C,问题解决。