netstat -tulnap
me montre quels ports sont utilisés. Comment libérer un port sous Linux?
netstat -tulnap
me montre quels ports sont utilisés. Comment libérer un port sous Linux?
Réponses:
Comme les autres l'ont dit, vous devrez tuer tous les processus qui écoutent sur ce port. Le moyen le plus simple de le faire serait d'utiliser la commande fuser (1). Par exemple, pour voir tous les processus à l'écoute des requêtes http sur le port 80 (exécutez en tant que root ou utilisez sudo):
# fuser 80/tcp
Si vous voulez les tuer, ajoutez simplement l'option -k.
sudo yum install psmisc
)
kill -9 $(fuser 80/tcp 2>/dev/null)
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
(une partie du dsniff
package) pour tuer la connexion qui se trouve sur le port dont vous avez besoin:
sudo tcpkill -9 port PORT_NUMBER
$ sudo tcpkill -9 port 5432 tcpkill: listening on lxcbr0 [port 5432]
En type de terminal:
netstat -anp|grep "port_number"
Il affichera les détails du port. Allez à 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
sudo netstat
de voir les PID :)
La "netstat --programs"
commande vous donnera les informations sur le processus, en supposant que vous êtes root. Ensuite, vous devrez tuer le processus "offensant" qui pourrait bien redémarrer juste pour vous ennuyer :-).
Qu'essayez-vous réellement de réaliser ici? Les solutions varieront en fonction des processus détenant ces ports.
Tuez le processus qui écoute le port en question. Je crois que netstat vous montre les identifiants de processus.
Si vous voulez vraiment tuer un processus immédiatement, vous lui envoyez un signal KILL au lieu d'un signal TERM (ce dernier une demande d'arrêt, le premier prendra effet immédiatement sans aucun nettoyage). C'est facile à faire:
kill -KILL <pid>
Sachez cependant que selon le programme que vous arrêtez, son état peut être gravement corrompu lors de cette opération. 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.
Arrêter l'ordinateur tue toujours le processus pour moi.