当某个端口可用于请求时,如何触发脚本?

当某个端口可用于请求时,如何触发脚本?

我想在进程打开端口 3000 时触发脚本。该进程是一个 Rails 开发服务器,我只想在它完成旋转并且端口 3000 开始接受请求时收到通知。

答案1

这是一个简单循环直到端口打开的 oneliner。这虽然又快又脏,但可能会让你入门。

while ! nc -z localhost 3000; do sleep 0.1; done; echo 'The server is up!'

将语句替换echo为您选择的操作。

  • nc是 Netcat,“TCP/IP 的瑞士军刀”,
  • -z意思是:不发送任何数据,只检查端口是否打开,
  • while ! nc -z …; do sleep 0.1; done:继续检查并休眠十分之一秒,直到端口打开,即 Netcat 返回零(成功)状态。

相关内容