Sur MacOSX, j'utilise Packer pour créer une boîte Vagrant. Je dois donc l'amener continuellement et la démolir. J'essaie de "vagabonder" et de recevoir l'erreur standard parce que le port est utilisé:
"Vagrant ne peut pas transférer les ports spécifiés sur cette machine virtuelle, car ils entreraient en conflit avec une autre application qui écoute déjà ces ports. Le port transféré vers 8080 est déjà utilisé sur la machine hôte."
La solution semble assez simple: je dois juste identifier le processus qui maintient le port 8080 ouvert et mettre fin à ce processus, non? Ce n'est pas si facile.
Si je lance la commande:
nmap localhost -p 8080
Je reçois la sortie suivante:
PORT STATE SERVICE
8080/tcp open http-proxy
Si j'exécute la commande suivante:
top -o prt
Le plus haut port utilisé en 1360
Si j'exécute la commande suivante:
netstat -tulpn | grep :8080
Je reçois:
netstat: n: unknown or uninstrumented protocol
Si j'exécute la commande suivante:
lsof -i :8080
Je ne reçois aucune sortie
Si je redémarre mon ordinateur, le port est maintenant disponible et je peux maintenant "vagabonder".
Comment puis-je tuer n'importe quel processus utilisant le port 8080 pour pouvoir vagabonder sans redémarrer mon ordinateur?
Cela pourrait aider
lsof -n -i4TCP:8080
Le PID est le deuxième champ de la sortie.
Ou essayez:
lsof -i -P
lsof -n -i4TCP:8080
Le PID est le deuxième champ.
kill -9 PID
1.) Allez dans/usr/local/bin/(peut utiliser la commande + shift + g dans le Finder)
2.) faire le fichier nommé stop. Et coller ci-dessous le code qu'il contient.
#!/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.) Enregistrer le fichier. Enjoyyy !!. Aller au terminal et écrire stop 8888 (ou n'importe quel port)
Vous pouvez écrire cette commande (stop port) de n’importe où dans le répertoire.
Si la réponse ci-dessus acceptée ne fonctionne pas, essayez la solution ci-dessous. Vous pouvez l’utiliser pour le port 8080 ou pour n’importe quel autre port.
Sudo lsof -i tcp:3000
Remplacez 3000 par le port de votre choix. Exécuter ci-dessous la commande pour tuer ce processus.
Sudo kill -9 PID
Le PID est l'ID de processus que vous souhaitez supprimer.
Voici la sortie des commandes sur le terminal mac.
J'avais besoin d'exécuter cette commande
Sudo lsof -i :80 # checks port 8080
Puis j'ai eu
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)
montrer quel service utilise le PID
ps -ef 312
Puis j'ai eu ça
UID PID PPID C STIME TTY TIME CMD
0 312 58 0 9:32PM ?? 0:02.70 /opt/Cisco/anyconnect/bin/acwebsecagent -console
Pour désinstaller l'agent de sécurité Web Cisco, exécutez
Sudo /opt/Cisco/anyconnect/bin/websecurity_uninstall.sh
crédits à: http://tobyaw.livejournal.com/315396.html
Ce peut être Cisco AnyConnect. Vérifiez si /Library/LaunchDaemons/com.Cisco.anyconnect.vpnagentd.plist existe Déchargez-le ensuite avec launchctl et supprimez-le de/Library/LaunchDaemons
Exécuter: nmap -p 8080 localhost
(Installez nmap avec MacPorts ou Homebrew si vous ne l'avez pas encore sur votre système)
Rapport d'analyse Nmap pour localhost (127.0.0.1)
L'hôte est actif (latence 0.00034).
Autres adresses pour localhost (non scanné): :: 1
SERVICE ÉTAT DU PORT
Proxy http ouvert 8080/tcp
Exécuter: ps -ef | grep http-proxy
UID PID PPID C TEMPS TTY TEMPS CMD
640 99335 88310 0 12:26 pm ttys002 0: 00.01 grep http-proxy "
Exécuter: ps -ef 640
(remplacez 501 par votre UID)
/ System/Library /PrivateFrameworks/PerformanceAnalysis.framework/Versions/A/XPCServices/com.Apple.PerformanceAnalysis.animationperfd.xpc/Contents/MacOS/com.Apple.PerformanceAnalysis.animationperfd.xpc/Contents/MacOS/com.Apple.PerformanceAnalysis.animationperfd.xpc/Contents/MacOS/com.Apple.PerformanceAnalysis.animationperfd.xpc/Contents/MacOS/com.Apple.PerformanceAnalysis.animationperf
Le port 8080 sur mac osx est utilisé par quelque chose installé avec XCode SDK
Pour écrire ceci:
pid=$(lsof -ti tcp:8080)
if [[ $pid ]]; then
kill -9 $pid
fi
L'argument -t
rend la sortie de lsof "laconique", ce qui signifie qu'il ne renvoie que le PID.
Vous pouvez également utiliser le moniteur d'activité pour identifier et quitter le processus à l'aide du port.