에서도 실행될 bash
lsof -t -i tcp:8000 | xargs kill
수 있는 셸 스크립트에서 특정 포트(예: in )를 수신하는 프로세스를 종료하는 방법이 있습니까 ?cygwin
bash
답변1
AFAIK, lsof
아직 cygwin으로 포팅되지 않았습니다.
여기에서 Microsoft netstat
유틸리티를 사용할 수 있습니다.
netstat -aon | awk '$1 == "TCP" && $4 == "LISTENING" && $2 ~ /:8000$/ {print $5}' |
xargs kill
답변2
특정 포트에서 수신 중인 프로세스를 종료하는 문제의 초기 부분은 프로세스를 식별하는 것입니다. lsof
Cygwin에서는 사용할 수 없지만 이 fuser
도구는 psmisc
패키지의 일부로 사용 가능하며 매뉴얼 페이지에 다음과 같이 문서화되어 있습니다.
fusionr - 파일이나 소켓을 사용하여 프로세스 식별
매뉴얼의 예제 섹션에는 다음을 보여주는 데모가 있습니다.
fusionr telnet/tcp는 (로컬) TELNET 포트의 모든 프로세스를 표시합니다.
(cygwin 쉘을 관리자 권한으로 실행해야 할 수도 있습니다.)