Sur MacOSX, j'utilise Packer pour créer une boîte Vagrant, donc je dois constamment la remonter et la démolir. J'essaie de `` vagabonder '' et je reçois l'erreur standard car le port est en cours d'utilisation:
"Vagrant ne peut pas transférer les ports spécifiés sur cette machine virtuelle, car ils entreraient en collision avec une autre application qui écoute déjà sur ces ports. Le port transféré vers 8080 est déjà utilisé sur la machine hôte."
La solution semble assez simple: j'ai juste besoin d'identifier le processus qui maintient le port 8080 ouvert et de tuer ce processus, non?. Ce n'est pas si facile.
Si j'exécute 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 port le plus élevé 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 tout processus utilisant le port 8080 afin de pouvoir vagabonder sans redémarrer mon ordinateur?
la source
sudo lsof -n -i4TCP:8080
de récupérer les processus appartenant à root.Solution rapide et rapide:
lsof -n -i4TCP:8080
PID
est le deuxième champ. Ensuite, tuez ce processus:kill -9 PID
Solution moins rapide mais permanente
Aller à
/usr/local/bin/
(Peut utiliser la commande + shift + g dans le Finder)Créez un fichier nommé
stop
. Collez-y le code ci-dessous:#!/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
chmod 755 stop
stop 8888
(ou n'importe quel port)la source
chmod 755 stop
.Dans le cas où la réponse acceptée ci-dessus ne fonctionne pas, essayez la solution ci-dessous. Vous pouvez l'utiliser pour le port 8080 ou pour tout autre port.
Remplacez 3000 par le port de votre choix. Exécutez la commande ci-dessous pour tuer ce processus.
Le PID est l'ID de processus que vous souhaitez supprimer.
Vous trouverez ci-dessous la sortie des commandes sur Mac Terminal.
la source
Pour créer un script:
L'
-t
argument rend la sortie de lsof "laconique", ce qui signifie qu'il ne renvoie que le PID.la source
J'avais besoin d'exécuter cette commande
Puis j'ai
montrer quel service utilise le PID
Puis j'ai ça
Pour désinstaller l'agent de sécurité Web Cisco, exécutez
crédits à: http://tobyaw.livejournal.com/315396.html
la source
Cela peut être Cisco AnyConnect. Vérifiez si /Library/LaunchDaemons/com.cisco.anyconnect.vpnagentd.plist existe. Puis déchargez-le avec launchctl et supprimez-le de / Library / LaunchDaemons
la source
En exécutant la commande ci-dessus, vous pouvez voir quels sont tous les travaux en cours d'exécution.
Entrez le PID (numéro d'identification du processus), cela mettra fin / tuera l'instance.
la source
Vous pouvez également utiliser le moniteur d'activité pour identifier et quitter le processus à l'aide du port.
la source
Exécuter:
nmap -p 8080 localhost
(Installez nmap avec MacPorts ou Homebrew si vous ne l'avez pas encore sur votre système)Courir:
ps -ef | grep http-proxy
Exécuter:
ps -ef 640
(remplacez 501 par votre UID)Le port 8080 sur mac osx est utilisé par quelque chose installé avec XCode SDK
la source
Utilisez la commande suivante:
lsof -n -i4TCP:8080 | awk '{print$2}' | xargs kill -9
L'ID de processus du port 8080 sera sélectionné et tué avec force en utilisant
kill -9
.la source
essayez netstat
si votre netstat ne prend pas en charge -p, utilisez lsof
Pour Centos 7, utilisez
la source