Programing

TCP / IP 포트를 확보 하시겠습니까?

crosscheck 2020. 7. 3. 19:45
반응형

TCP / IP 포트를 확보 하시겠습니까?


netstat -tulnap사용중인 포트를 보여줍니다. 리눅스에서 포트를 비우는 방법?


다른 사람들이 말했듯이 해당 포트에서 수신 대기중인 모든 프로세스를 종료해야합니다. 가장 쉬운 방법은 fuser (1) 명령을 사용하는 것입니다. 예를 들어, 포트 80에서 http 요청을 수신 대기하는 모든 프로세스를 보려면 (루트로 실행하거나 sudo 사용) :

# fuser 80/tcp

그들을 죽이려면 -k 옵션을 추가하십시오.


리눅스에서 특정 포트를 죽이려면 아래 명령을 사용하십시오

sudo fuser -k Port_Number/tcp

Port_Number를 사용중인 포트로 바꾸십시오.


당신은 사용할 수 있습니다 tcpkill(의 일부 dsniff당신이 필요로하는 포트의 연결을 죽일 패키지) :

sudo tcpkill -9 port PORT_NUMBER

"netstat --programs"명령은 루트라고 가정하고 프로세스 정보를 제공합니다. 그런 다음 "불쾌한"프로세스를 종료해야합니다.

실제로 여기서 달성하려는 것은 무엇입니까? 솔루션은 해당 포트를 보유한 프로세스에 따라 다릅니다.


터미널 유형에서 :

netstat -anp|grep "port_number"

포트 세부 정보가 표시됩니다. 마지막 열로 이동하십시오. 이 형식으로되어 있습니다. 예를 들면 다음과 같습니다 .- PID / java

그런 다음 다음을 실행하십시오.

kill -9 PID. Worked on Centos5

MAC의 경우 :

lsof -n -i :'port-number' | grep LISTEN

샘플 응답 :

java   4744 (PID)  test  364u  IP0 asdasdasda   0t0  TCP *:port-number (LISTEN)

그런 다음 다음을 실행하십시오.

kill -9 PID 

맥북에서 작업


해당 포트를 청취중인 프로세스를 종료하십시오. netstat이 프로세스 ID를 보여줍니다.


프로세스를 즉시 강제 종료하려면 TERM 신호 대신 KILL 신호를 보냅니다 (후자는 중지 요청, 첫 번째는 정리없이 즉시 적용됨). 하기 쉽다 :

kill -KILL <pid>

그러나 정지중인 프로그램에 따라 상태가 심하게 손상 될 수 있습니다. 일반적으로 정상 종료가 작동하지 않는 경우 KILL 신호 만 보내려고합니다. 근본적인 문제가 무엇인지, 그리고 살해가 올바른 해결책인지 궁금합니다.


모든 포트를 확인하려면

netstat -lnp

열린 포트를 닫으려면

fuser -k port_no/tcp

예:

fuser -k 8080/tcp

두 경우 모두 sudo필요한 경우 명령을 사용할 수 있습니다 .


유일한 방법은 포트를 연 프로세스를 중지하는 것입니다.


sudo killall -9 "프로세스 이름"


컴퓨터를 종료하면 항상 프로세스가 종료됩니다.

참고 URL : https://stackoverflow.com/questions/750604/freeing-up-a-tcp-ip-port

반응형