특정 포트에서 수신 대기하는 프로세스를 종료하는 이식 가능한 방법

특정 포트에서 수신 대기하는 프로세스를 종료하는 이식 가능한 방법

에서도 실행될 bash lsof -t -i tcp:8000 | xargs kill수 있는 셸 스크립트에서 특정 포트(예: in )를 수신하는 프로세스를 종료하는 방법이 있습니까 ?cygwinbash

답변1

AFAIK, lsof아직 cygwin으로 포팅되지 않았습니다.

여기에서 Microsoft netstat유틸리티를 사용할 수 있습니다.

netstat -aon | awk '$1 == "TCP" && $4 == "LISTENING" && $2 ~ /:8000$/ {print $5}' |
  xargs kill

답변2

특정 포트에서 수신 중인 프로세스를 종료하는 문제의 초기 부분은 프로세스를 식별하는 것입니다. lsofCygwin에서는 사용할 수 없지만 이 fuser도구는 psmisc패키지의 일부로 사용 가능하며 매뉴얼 페이지에 다음과 같이 문서화되어 있습니다.

fusionr - 파일이나 소켓을 사용하여 프로세스 식별

매뉴얼의 예제 섹션에는 다음을 보여주는 데모가 있습니다.

fusionr telnet/tcp는 (로컬) TELNET 포트의 모든 프로세스를 표시합니다.

(cygwin 쉘을 관리자 권한으로 실행해야 할 수도 있습니다.)

관련 정보