it-swarm.com.de

Wie kann ich den Prozess unter Verwendung von Port 8080 beenden, damit ich einen Überblick habe?

Unter MacOSX verwende ich Packer, um eine Vagrant-Box zu bauen, also muss ich sie ständig hochfahren und abreißen. Ich versuche zu "vagrant up" und erhalte den Standardfehler, da der Port verwendet wird: 

"Vagrant kann die angegebenen Ports auf dieser VM nicht weiterleiten, da sie mit einer anderen Anwendung kollidieren, die diese Ports bereits überwacht. Der weitergeleitete Port an 8080 wird bereits auf dem Host-Computer verwendet."

Die Lösung scheint einfach genug: Ich muss nur den Prozess identifizieren, der Port 8080 offen hält, und den Prozess beenden, oder? Es ist nicht so leicht.


Wenn ich den Befehl ausführen:

nmap localhost -p 8080

Ich erhalte folgende Ausgabe:

PORT     STATE SERVICE
8080/tcp open  http-proxy

Wenn ich den folgenden Befehl ausführen:

top -o prt

Der höchste in 1360 verwendete Hafen


Wenn ich den folgenden Befehl ausführen:

 netstat -tulpn | grep :8080

Ich erhalte: 

netstat: n: unknown or uninstrumented protocol

Wenn ich den folgenden Befehl ausführen:

lsof -i :8080

Ich erhalte keine Ausgabe


Wenn ich meinen Computer neu starte, ist der Port jetzt verfügbar und ich kann jetzt "vagrant up".

Wie kann ich den Prozess unter Verwendung von Port 8080 beenden, damit ich mich ohne Neustart meines Computers aufhalten kann?

44
Jason Curran

Das könnte helfen

lsof -n -i4TCP:8080 

Die PID ist das zweite Feld in der Ausgabe.

Oder Versuche:

lsof -i -P
80
Mark Setchell

Schnelle und schnelle Lösung:

lsof -n -i4TCP:8080 

PID ist das zweite Feld.

kill -9 PID

Weniger schnelle aber dauerhafte Lösung

1.) Gehe zu/usr/local/bin/(Kann Befehl + Shift + g im Finder verwenden)

2.) mache die Datei mit dem Namen stop. Und fügen Sie den folgenden Code ein.

    #!/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

3.) Datei speichern. Viel Spass !! Geh zum Terminal und schreibe Stop 8888 (oder einen beliebigen Port)

Sie können diesen Befehl (Stopport) von einer beliebigen Stelle im Verzeichnis schreiben.

33
ronak kothari

Falls die oben akzeptierte Antwort nicht funktioniert hat, versuchen Sie die Lösung unten. Sie können es für Port 8080 oder für andere Ports verwenden.

Sudo lsof -i tcp:3000 

Ersetzen Sie 3000 durch den gewünschten Port. Führen Sie den folgenden Befehl aus, um den Prozess zu beenden.

Sudo kill -9 PID

PID ist die Prozess-ID, die Sie beenden möchten.

Unten sehen Sie die Ausgabe von Befehlen auf dem mac Terminal.

 Command output

11
Akshay Thorve

Ich musste diesen Befehl ausführen

Sudo lsof -i :80 # checks port 8080

Dann habe ich bekommen 

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)

zeigen, welcher Dienst die PID verwendet

ps -ef 312

Dann habe ich das bekommen

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

So deinstallieren Sie den Cisco Web Security Agent

Sudo /opt/Cisco/anyconnect/bin/websecurity_uninstall.sh

kredite an: http://tobyaw.livejournal.com/315396.html

3
mjabadilla

Es kann Cisco AnyConnect sein. Überprüfen Sie, ob /Library/LaunchDaemons/com.Cisco.anyconnect.vpnagentd.plist vorhanden ist. Dann entladen Sie es mit launchctl und löschen Sie es aus/Library/LaunchDaemons 

2
Andriy Sylka

Führen Sie Folgendes aus: nmap -p 8080 localhost (Installieren Sie nmap mit MacPorts oder Homebrew, falls Sie es noch nicht auf Ihrem System installiert haben)

Nmap-Scanbericht für localhost (127.0.0.1)

Host ist in Betrieb (Latenz 0,00034s).

Andere Adressen für localhost (nicht gescannt): :: 1

PORT STATE SERVICE

8080/tcp offener http-Proxy

Ausführen: ps -ef | grep http-proxy

UID PID PPID C STIME TTY TIME CMD

640 99335 88310 0 12:26 pm ttys002 0: 00.01 grep http-proxy "

Führen Sie Folgendes aus: ps -ef 640 (ersetzen Sie 501 durch Ihre UID)

/System/Library/PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/XPCServices/com.Apple.PerformanceAnalysis.animationperfd.xpc/Contents/MacOS/com.Apple.PerformanceAnalysis.animationperfd

Port 8080 auf Mac OSX wird von etwas verwendet - installiert mit XCode SDK

1
Yiling

So erstellen Sie ein Skript:

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

Das Argument -t macht die Ausgabe von lsof "terse", was bedeutet, dass nur die PID zurückgegeben wird.

1
voutasaurus

Sie können den Aktivitätsmonitor auch verwenden, um den Prozess über den Port zu identifizieren und zu beenden.

0
gcmori