Shell 지정 한 구간 에서 무 작위 로 사용 되 지 않 은 포트 번호 가 져 오기
최근 에 Jenkins 가 자동 으로 운영 하 는 스 크 립 트 를 쓰 고 있 습 니 다. docker 를 사용 하기 때문에 배치 할 때 용기 포트 번호 충돌 을 시작 하면 배치 에 실패 할 수 있 습 니 다. 사용 하 는 마이크로 서비스 도 포트 따 위 는 신경 쓰 지 않 고 배치 성공 만 을 추구 하기 때문에 오랫동안 생각 했 습 니 다. 몇 가지 글 을 참고 하고 운 비 형님 의 디 버 깅 도 실 현 했 습 니 다. 드디어 스 크 립 트 를 실 현 했 습 니 다. 공유 해 보 세 요.지역 사회 에 벽돌 과 기 와 를 추가 합 니 다: happy:
본 논문 의 주 제 는 사용 되 지 않 은 포트 번 호 를 얻 는 것 입 니 다. 이 포트 번 호 는 구간 을 지정 할 수 있 습 니 다.
스 크 립 트 내용
#!/bin/bash
# @Desc
# @Author Hellxz
PORT=0
# , 0, 1
function Listening {
TCPListeningnum=`netstat -an | grep ":$1 " | awk '$1 == "tcp" && $NF == "LISTEN" {print $0}' | wc -l`
UDPListeningnum=`netstat -an | grep ":$1 " | awk '$1 == "udp" && $NF == "0.0.0.0:*" {print $0}' | wc -l`
(( Listeningnum = TCPListeningnum + UDPListeningnum ))
if [ $Listeningnum == 0 ]; then
echo "0"
else
echo "1"
fi
}
#
function random_range {
shuf -i $1-$2 -n1
}
#
function get_random_port {
templ=0
while [ $PORT == 0 ]; do
temp1=`random_range $1 $2`
if [ `Listening $temp1` == 0 ] ; then
PORT=$temp1
fi
done
echo "port=$PORT"
}
get_random_port 1 10000; # 1~10000 ,
참고 문장
IBM Developer 는 셸 스 크 립 트 를 사용 하여 Linux 시스템 과 프로 세 스 자원 을 모니터링 합 니 다.
Shell 의 난수 생 성 방법
성명: 본 고 는 코드 팬/버클 등 파충류 사이트 의 전 재 를 금지한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.