checkAlive.pl脚本实现的功能比较简单,就是从数据库查找特定的Ip,然后使用Net::Ping::External模块进行ping检测,然而for循环中使用system"ping.pl $ip "来检测状态的话,每次调用系统命令时都是同步的方式,也就是上一个命令执行完毕后才执行后一个命令,如何实现异步调用呢?
首先想到的是线程的方式...
回去再查看一下system命令的帮助,发现,可以把system系统调用转换为后台运行,也就是命令后加上个“&”,于是人工的多线程就出现了:system "ping.pl $ip &",这样多个ping.pl进程同时运行,实现了异步调用。
阅读(645) | 评论(0) | 转发(0) |