![요청에 특정 포트를 사용할 수 있는 경우 어떻게 스크립트를 트리거할 수 있나요?](https://linux55.com/image/18482/%EC%9A%94%EC%B2%AD%EC%97%90%20%ED%8A%B9%EC%A0%95%20%ED%8F%AC%ED%8A%B8%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%8A%94%20%EA%B2%BD%EC%9A%B0%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%ED%8A%B8%EB%A6%AC%EA%B1%B0%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%82%98%EC%9A%94%3F.png)
프로세스가 포트 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(성공) 상태를 반환합니다.