プロセスがポート3000を開くときにスクリプトをトリガーしたいと思います。プロセスはRails開発サーバーであり、回転が完了し、ポート3000が要求の受け入れを開始したときに通知を受けたいと思います。
答え1
これは、ポートが開くまで単に繰り返されるワンライナーです。これは速くて汚れていますが、始めるのに役立ちます。
while ! nc -z localhost 3000; do sleep 0.1; done; echo 'The server is up!'
ステートメントをecho
目的のタスクに置き換えます。
nc
まさに「TCP/IPのスイス軍用ナイフ」であるNetcatです。-z
意味:データを送信せずにポートが開いていることを確認してください。while ! nc -z …; do sleep 0.1; done
:ポートが開くまで10分の1秒間確認を続け、休止状態を維持します。つまり、Netcatは0(成功)状態を返します。