요청에 특정 포트를 사용할 수 있는 경우 어떻게 스크립트를 트리거할 수 있나요?

요청에 특정 포트를 사용할 수 있는 경우 어떻게 스크립트를 트리거할 수 있나요?

프로세스가 포트 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(성공) 상태를 반환합니다.

관련 정보