Tcp

當某個埠可用於請求時,如何觸發腳本?

  • November 3, 2011

我想在程序打開埠 3000 時觸發腳本。該程序是一個 Rails 開發伺服器,我只想在它完成旋轉並且埠 3000 開始接受請求時收到通知。

這是一個單線器,它簡單地循環直到埠打開。這是快速而骯髒的,但它可能會讓你開始。

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 返回零(成功)狀態。

引用自:https://unix.stackexchange.com/questions/23756