Mac OS X에서 "fuser -v -n tcp"대안으로 사용할 사항


10

Mac OS X의 fuser 명령은 다소 원시적이며 특정 포트에서 수신 대기중인 프로세스를 확인할 수 없습니다. 아무도 좋은 대안을 알고 있습니까? 하나의 포트에서 수신 대기중인 프로세스를 아는 것으로 충분합니다.


1
시도sudo lsof -i -P
vcsjones

lsof`는 실제로 작업이 포트에 연결되어있을 때만 작동한다는 인상을 받았습니다. 또한 | grep portno의미있는 결과를 얻으려면 적어도 하나가 필요합니다 .
Martin

답변:


14

의견에서 @vcsjones가 말했듯 lsof이이 도구는 다음과 같습니다.

$ sudo lsof -i tcp:80
COMMAND PID   USER   FD   TYPE     DEVICE SIZE/OFF NODE NAME
Safari  804 gordon   16u  IPv4 0x05a2cec8      0t0  TCP 192.168.6.3:50542->stackoverflow.com:http (ESTABLISHED)
httpd   874   root    3u  IPv6 0x05a2a940      0t0  TCP *:http (LISTEN)
httpd   878   _www    3u  IPv6 0x05a2a940      0t0  TCP *:http (LISTEN)

이 없으면 -i열려있는 모든 파일이 표시됩니다. 단지와 -i는 네트워크 파일 만 보여줍니다; 이후에 무언가를 지정 -i하면 IPv4 / 6, TCP / UDP, 호스트 이름 또는 IP 및 포트 번호 / 서비스 이름 중 일부 또는 전부로 제한 할 수 있습니다.


2
이런 경우에 맹목적으로 특정 포트를 사용하는 모든 프로세스를 종료하고자하는 나 같은 사람을위한 유용합니다 : lsof -i tcp:5000 | grep LISTEN | awk '{print $2}' | xargs kill포트 5000에서 수신 대기 모든 프로세스를 죽인다
JeremyKun
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.