检查某个端口号服务是否启动

    #!/bin/bash

    # 定义要检查的端口号
    PORT=9912

    # 定义超时时间(秒),这里定义的是10秒,超过10还没启动就结束脚本
    TIMEOUT=10

    # 初始化计时器
    elapsed=0

    # 循环检查端口是否启动
    while [ $elapsed -lt $TIMEOUT ]; do
        if ss -tuln | grep ":$PORT " > /dev/null; then
            echo "端口 $PORT 的服务已启动。"
            break
        else
            echo "端口 $PORT 的服务未启动,等待中... ($elapsed/$TIMEOUT 秒)"
            sleep 1
            elapsed=$((elapsed + 1))
        fi
    done

    # 检查是否超时
    if [ $elapsed -ge $TIMEOUT ]; then
        echo "端口 $PORT 的服务在 $TIMEOUT 秒内未启动,脚本结束。"
        exit 1
    fi

    # 如果端口已启动,继续执行后续命令
    echo "继续执行后续命令..."
    # 在这里添加你想要执行的后续命令
posted @ 2025-04-03 14:08  程序员の奇妙冒险  阅读(33)  评论(0)    收藏  举报