商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > perl实现检测服务器中的服务是否正常脚本分享

perl实现检测服务器中的服务是否正常脚本分享

  发布于2026-06-29 阅读(0)

扫一扫,手机访问

程序调用远端服务,这事儿看着简单,但真正跑起来最怕什么?服务挂了、端口不通、超时卡死……所以在正式使用前,先做个健康检测,把那些异常的服务提前筛掉,这才是靠谱的做法。下面这个脚本就是用 Perl 实现的,思路很直接:挨个尝试连接目标 IP 和端口,连得上就标记为正常,连不上就标记为异常,然后循环检测一段时间。

perl实现检测服务器中的服务是否正常脚本分享

复制代码 代码如下:
#!/usr/bin/perl

#

use strict;

use IO::Socket;

my @servers;

$servers[0]=['180.153.100.93',2222];
$servers[1]=['180.153.100.93',22];
$servers[2]=['180.153.100.93',80];

my $i=0;
my $interval=3;
my $count=int(60/$interval);

while($i < $count){
    foreach (@servers){
        if(fetch_server_status(@$_)){
            print $$_[0] . ':' . $$_[1] ."ok\n";
        }else{
            print $$_[0] . ':' . $$_[1] ."bad\n";
        }
    }
    $i++;
    sleep $interval;
}

sub fetch_server_status(){
    my($ip,$port)=@_;
    my $socket=IO::Socket::INET->new(
        PeerAddr => $ip,
        PeerPort => $port,
        Timeout => 1,
    );
    if(!$socket){
        return 0;
    }else{
        return 1;
    }
    $socket->close;
}
本文转载于:https://www.jb51.net/article/56283.htm 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

产品推荐

热门关注