【问题标题】:Use nc on TCP port tell is a service is up?在 TCP 端口上使用 nc 告诉服务是否已启动?
【发布时间】:2015-03-17 14:21:02
【问题描述】:

我可以在任何 TCP 端口上使用以下技巧来等待服务启动吗?

while true; do
    nc -i 1 10.10.10.10 3306 >/dev/null && break
done

【问题讨论】:

  • 是的。尽管您可能希望在尝试一定次数后退出计数器,以避免它永远运行。

标签: linux bash networking centos


【解决方案1】:

您的循环等待连接变为可用,但也等待成功的连接被服务器关闭(这可能永远不会发生)。这是一个等待端口打开的替代版本:

until nc -z 10.10.10.10 3306
do
    sleep 5
done

【讨论】:

  • 我假设你使用 Ubuntu 因为-z。那会是-lListen for connections rather than connecting to a remote machine吗?
  • @JasmineLognnes -z 是 OpenBSD netcat 和传统 (hobbit) netcat 中的选项,用于在不发送数据的情况下扫描监听守护进程,即立即断开连接并返回状态。
猜你喜欢
  • 1970-01-01
  • 2018-02-28
  • 2020-11-27
  • 2022-11-03
  • 2022-01-11
  • 1970-01-01
  • 2019-06-05
  • 1970-01-01
  • 2019-10-23
相关资源
最近更新 更多