출처
https://serverfault.com/questions/7689/how-do-i-get-rid-of-sockets-in-fin-wait1-state
어떻게 소켓의 FIN_WAIT1 상태를 제거할 수 있을까요?
kill하길 원하는 프로세스에 의해 막힌(blocked) 포트가 있습니다. (crash된 텔넷 대몬) 프로세스는 성공적으로 kill하였지만 포트는 아직 'FIN_WAIT1' 상태입니다. 'FIN_WAIT1' 상태에서 나오지 않으면 이 timeout은 '10년'은 갈 거 같습니다.
제가 찾은 그 포트를 비우는 유일한 방법은 전체 기계를 재부팅하는 것입니다. 당연이 이 방법을 사용하고 싶지는 않습니다.
$ netstat -tulnap | grep FIN_WAIT1 tcp 0 13937 10.0.0.153:4000 10.0.2.46:2572 FIN_WAIT1 -
리부팅 없이 어떻게 포트가 막히지 않도록(unblocked) 할 수 있는 지 아는 분 계신가요?
8개의 답변중 1개의 답변만 발췌
# 현재의 tcp_max_orphan의 값이 무엇인지 (origin_value에) 기록합니다. original_value=$(cat /proc/sys/net/ipv4/tcp_max_orphans) # tcp_max_orphans를 임시로 0으로 설정합니다. echo 0 > /proc/sys/net/ipv4/tcp_max_orphans # /var/log/messages를 확인합니다. # "kernel: TCP: too many of orphaned sockets"을 뱉으며 출력할 것입니다. # 연결이 끊어지기까지 얼마 걸리지 않을 것입니다. # 전에 있던 tcp_max_orphans의 값을 복구합니다. echo $original_value > /proc/sys/net/ipv4/tcp_max_orphans # 다음 명령으로 검증합니다. netstat -an|grep FIN_WAIT1
'도움받은 정보' 카테고리의 다른 글
PHP에서 UTC 시간대를 다른 시간대로 변환하기 (0) | 2019.07.18 |
---|---|
구글 클라우드 / Compute 인스턴스로부터 MariaDB에 접근할 수 없습니다. (0) | 2019.03.11 |
Wireshark에서 tcpreplay의 멀티캐스트가 보이지만 응용프로그램에서는 안 보입니다. (0) | 2018.10.02 |
언제 프로세스가 SIGABRT (시그널6)을 얻습니까? (0) | 2018.02.03 |
[nodejs] 가능한 EventEmitter 메모리 누수 감지됨 (0) | 2017.11.29 |