[macos] 방랑 할 수 있도록 포트 8080을 사용하는 프로세스를 어떻게 죽일 수 있습니까?

MacOSX에서는 Packer를 사용하여 Vagrant 상자를 만들고 있으므로 계속해서 꺼내서 분해해야합니다. ‘방랑자’를 시도하고 포트가 사용 중이기 때문에 표준 오류를 수신합니다.

“Vagrant는이 포트에서 이미 수신 대기중인 다른 응용 프로그램과 충돌 할 수 있으므로이 VM에서 지정된 포트를 전달할 수 없습니다. 8080으로 전달 된 포트는 이미 호스트 컴퓨터에서 사용 중입니다.”

해결책은 간단 해 보입니다. 포트 8080을 열어두고있는 프로세스를 식별하고 해당 프로세스를 종료하면됩니다. 그렇게 쉽지는 않습니다.


명령을 실행하면 :

nmap localhost -p 8080

다음 출력을받습니다.

PORT     STATE SERVICE
8080/tcp open  http-proxy

다음 명령을 실행하면 :

top -o prt

1360 년에 사용 된 가장 높은 항구


다음 명령을 실행하면 :

 netstat -tulpn | grep :8080

나는받는 :

netstat: n: unknown or uninstrumented protocol

다음 명령을 실행하면 :

lsof -i :8080

출력을받지 못함


컴퓨터를 다시 시작하면 포트를 사용할 수 있으며 이제 ‘방랑’할 수 있습니다.

컴퓨터를 다시 시작하지 않고 방랑 할 수 있도록 포트 8080을 사용하는 프로세스를 어떻게 종료 할 수 있습니까?



답변

이것은 도움이 될 수 있습니다

lsof -n -i4TCP:8080

PID는 출력의 두 번째 필드입니다.

또는 시도해보십시오.

lsof -i -P


답변

빠르고 빠른 솔루션 :

lsof -n -i4TCP:8080

PID두 번째 필드입니다. 그런 다음 해당 프로세스를 종료하십시오.

kill -9 PID

덜 빠르지 만 영구적 인 솔루션

  1. /usr/local/bin/ (파인더에서 command + shift + g 사용 가능)로 이동

  2. 이름이 stop. 아래 코드를 붙여 넣으세요.

#!/bin/bash
touch temp.text
lsof -n -i4TCP:$1 | awk '{print $2}' > temp.text
pidToStop=`(sed '2q;d' temp.text)`
> temp.text
if [[ -n $pidToStop ]]
then
kill -9 $pidToStop
echo "Congrates!! $1 is stopped."
else
echo "Sorry nothing running on above port"
fi
rm temp.text
  1. 이 파일을 저장하십시오.
  2. 파일을 실행 가능하게 만들기 chmod 755 stop
  3. 이제 터미널로 이동하여 stop 8888(또는 임의의 포트) 쓰기


답변

위의 답변이 작동하지 않는 경우 아래 해결책을 시도하십시오. 포트 8080 또는 다른 포트에 사용할 수 있습니다.

sudo lsof -i tcp:3000

3000을 원하는 포트로 바꾸십시오. 해당 프로세스를 종료하려면 아래 명령을 실행하십시오.

sudo kill -9 PID

PID는 죽이려는 프로세스 ID입니다.

다음은 Mac 터미널의 명령 출력입니다.

명령 출력


답변

이를 스크립팅하려면 :

pid=$(lsof -ti tcp:8080)
if [[ $pid ]]; then
  kill -9 $pid
fi

-t인수는 단지 PID를 반환 수단 lsof를 “간결”의 출력을합니다.


답변

이 명령을 실행해야했습니다.

sudo lsof -i :80 # checks port 8080

그런 다음

COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
acwebseca 312 root   36u  IPv4 0x34ae935da20560c1      0t0  TCP 192.168.1.3:50585->104.25.53.12:http (ESTABLISHED)

PID를 사용하는 서비스 표시

ps -ef 312

그런 다음 나는 이것을 얻었다

  UID   PID  PPID   C STIME   TTY           TIME CMD
    0   312    58   0  9:32PM ??         0:02.70 /opt/cisco/anyconnect/bin/acwebsecagent -console

Cisco Web Security Agent를 제거하려면 다음을 실행하십시오.

sudo /opt/cisco/anyconnect/bin/websecurity_uninstall.sh

크레딧 : http://tobyaw.livejournal.com/315396.html


답변

Cisco AnyConnect 일 수 있습니다. /Library/LaunchDaemons/com.cisco.anyconnect.vpnagentd.plist가 있는지 확인하십시오. 그런 다음 launchctl로 언로드하고 / Library / LaunchDaemons에서 삭제하십시오.


답변

sudo lsof -i:8080

위의 명령을 실행하면 실행중인 모든 작업이 무엇인지 확인할 수 있습니다.

kill -9 <PID Number>

PID (프로세스 식별 번호)를 입력하면 인스턴스가 종료 / 종료됩니다.