【发布时间】: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
我可以在任何 TCP 端口上使用以下技巧来等待服务启动吗?
while true; do
nc -i 1 10.10.10.10 3306 >/dev/null && break
done
【问题讨论】:
标签: linux bash networking centos
您的循环等待连接变为可用,但也等待成功的连接被服务器关闭(这可能永远不会发生)。这是一个等待端口打开的替代版本:
until nc -z 10.10.10.10 3306
do
sleep 5
done
【讨论】:
-z。那会是-lListen for connections rather than connecting to a remote machine吗?
-z 是 OpenBSD netcat 和传统 (hobbit) netcat 中的选项,用于在不发送数据的情况下扫描监听守护进程,即立即断开连接并返回状态。