netstat -tulnap
me montre quels ports sont utilisés. Comment libérer un port sous Linux?
Comme les autres l'ont dit, vous devrez tuer tous les processus qui écoutent sur ce port. Le moyen le plus simple consiste à utiliser la commande fuser (1). Par exemple, pour voir tous les processus écouter les demandes http sur le port 80 (exécuter en tant que root ou utiliser Sudo):
# fuser 80/tcp
Si vous voulez les tuer, ajoutez simplement l'option -k.
Pour tuer un port spécifique sous Linux, utilisez la commande ci-dessous
Sudo fuser -k Port_Number/tcp
remplacez Port_Number par votre port occupé.
Vous pouvez utiliser tcpkill
(composant du package dsniff
) pour supprimer la connexion installée sur le port dont vous avez besoin:
Sudo tcpkill -9 port PORT_NUMBER
La commande "netstat --programs"
vous donnera les informations sur le processus, en supposant que vous soyez root. Ensuite, vous devrez arrêter le processus "fautif" qui risque de redémarrer juste pour vous ennuyer :-).
Qu'est-ce que vous essayez réellement d'atteindre ici? Les solutions varieront en fonction des processus contenant ces ports.
En type de terminal:
netstat -anp|grep "port_number"
Il montrera les détails du port. Aller à la dernière colonne. Ce sera dans ce format. Par exemple: - PID/Java
puis exécutez:
kill -9 PID. Worked on Centos5
Pour Mac:
lsof -n -i :'port-number' | grep LISTEN
Exemple de réponse:
Java 4744 (PID) test 364u IP0 asdasdasda 0t0 TCP *:port-number (LISTEN)
puis exécutez:
kill -9 PID
A travaillé sur Macbook
Tuez le processus qui écoute le port en question. Je crois que netstat vous montre les identifiants de processus.
Si vous voulez vraiment tuer immédiatement un processus, vous lui envoyez un signal KILL au lieu d'un signal TERM (cette dernière demande l'arrêt, le premier prend effet immédiatement sans nettoyage). C'est facile à faire:
kill -KILL <pid>
Sachez cependant que, selon le programme que vous arrêtez, son état peut être gravement corrompu en le faisant. Normalement, vous ne voulez envoyer un signal KILL que lorsque la terminaison normale ne fonctionne pas. Je me demande quel est le problème sous-jacent que vous essayez de résoudre et si tuer est la bonne solution.
Je pense que le seul moyen sera d’arrêter le processus qui a ouvert le port.
Pour vérifier tous les ports:
netstat -lnp
Pour fermer un port ouvert:
fuser -k port_no/tcp
Exemple:
fuser -k 8080/tcp
Dans les deux cas, vous pouvez utiliser la commande Sudo
si nécessaire.