Tcp
當某個埠可用於請求時,如何觸發腳本?
我想在程序打開埠 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 返回零(成功)狀態。