リクエストに特定のポートを使用できる場合は、どのようにスクリプトをトリガーできますか?

リクエストに特定のポートを使用できる場合は、どのようにスクリプトをトリガーできますか?

プロセスがポート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(成功)状態を返します。

おすすめ記事