서문(실제 문제는 건너뛰기): 포트 843을 수신하는 애플리케이션이 있습니다. 이 프로세스는 루트로 실행됩니다. 때때로 프로세스를 종료하면(^C 사용) 오랫동안(영원히?) 정지 상태가 됩니다. 참을성이 없어서 kill -9
. 이제 문제는 애플리케이션이 없음에도 불구하고 포트 843이 여전히 수신 대기 중이라는 것입니다.
lsof -i
루트로 실행하더라도 843을 수신하는 프로세스가 없음을 보여줍니다 . 그러나 을 보면 netstat -a
수신 중임을 알 수 있으며 일부 연결도 올바르게 해제되지 않은 것으로 나타납니다.
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp6 0 0 localhost.843 localhost.60927 CLOSE_WAIT
tcp6 386 0 localhost.843 localhost.60926 CLOSE_WAIT
tcp6 0 0 localhost.843 localhost.60925 CLOSE_WAIT
tcp6 386 0 localhost.843 localhost.60924 CLOSE_WAIT
tcp46 0 0 *.843 *.* LISTEN
tcp4 0 0 *.843 *.* LISTEN
비슷한 질문처음부터 이런 상황에 빠지지 않는 것이 좋습니다. 그것은 건전한 조언이지만 내 응용 프로그램이 아니기 때문에 약간 어렵습니다. 게다가, 상관없이 빠져 나가는 것이 좋을 것입니다.
재부팅하지 않고도 이 혼란에서 벗어날 수 있는 방법이 있나요? 루트로 실행했다는 사실이 중요합니까? (authbind와 같은 소프트웨어를 설치하지 않고는 방법을 찾지 못한 낮은 번호의 포트를 들으려면 루트만 필요합니다.)