perl如何实现定时器的功能,即在一段时间内某操作没有结束,跳出该操作,执行其他操作。

jockywin 2006-02-06 11:49:06
我现在perl脚本中通过ssh到网络中某台机器取信息,请问如何在取信息操作超过一定时间如10秒后,跳出该操作,执行其他的操作,请高手指教,谢谢
...全文
395 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jockywin 2006-02-07
  • 打赏
  • 举报
回复
谢谢,各位了,马上结帖放分
hongweig 2006-02-07
  • 打赏
  • 举报
回复
别使用多线程。
这个例子也不需要使用多线程。
楼上的兄弟正解。

xyzxyz1111 2006-02-06
  • 打赏
  • 举报
回复
使用子进程进行ssh连接, 父进程等待超时后杀掉子进程,并做其他操作.
也可以使用alarm 定时器
fibbery 2006-02-06
  • 打赏
  • 举报
回复
可以试一试多线程
xyzxyz1111 2006-02-06
  • 打赏
  • 举报
回复
用alarm的过程如

sub alarm_action{
... time out action
}
$SIG{ALRM} = \&alarm_action;
alarm $timeout;
... ssh action
alarm 0; # cancel alarm signal
...

jockywin 2006-02-06
  • 打赏
  • 举报
回复
谢谢
fibbery(飞):请问perl如何实现多线程,能再具体一点吗,谢谢
xyzxyz1111:你说的子进程是在外围一个perl脚本中,调用另一个perl脚本进行ssh连接,然后用alarm来定时,超过多少秒,kill掉被调用的脚本是这样吗?

另外,有的时候没有交换密匙的话,ssh连接弹出要求输入密码的提示,在perl中如何判断并实现尝试输入密码呢。
请高手指点,在线等待,谢谢

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧