Comment tuer un processus qui s'exécute sur un port particulier dans Linux?
J'ai essayé de fermer le tomcat à l'aide ./shutdown.sh
de tomcat /bin
répertoire. Mais a constaté que le serveur n'a pas été fermé correctement. Et donc j'ai été incapable de redémarrer
Mon tomcat est en cours d'exécution sur le port 8080
.
Je veux tuer le tomcat processus en cours d'exécution sur 8080
. J'ai d'abord envie d'avoir la liste des processus en cours d'exécution sur un port spécifique (8080) afin de sélectionner les processus pour tuer.
- double possible de script shell pour tuer le processus à l'écoute sur le port 3000?
Vous devez vous connecter pour publier un commentaire.
Ce
fuser 8080/tcp
permettra de vous imprimer le PID du processus lié sur ce port.Et ce
fuser -k 8080/tcp
va tuer le processus.Ne fonctionne que sous Linux. De plus universel est l'utilisation de
lsof -i4
(ou 6 pour IPv6).bash: fuser: command not found
.fuser
. Prend seulement un fichier, ne prend pas en charge-k
.fuser: command not found
, installer psmisc. Pour CentOS/RHEL 7, exécutezsudo yum install psmisc
Pour afficher la liste des processus à l'écoute sur le port 8080:
Pour tuer tous les processus de l'écoute sur le port 8080:
ou plus violemment:
(
-9
correspond à laSIGKILL - terminate immediately/hard kill
signal: voir Liste de Tuer des Signaux et Quel est le but de l'-9 option dans la commande kill?. Si aucun signal n'est spécifiée pourkill
, le TERME de signal.k.un.-15
ousoft kill
est envoyé, ce qui n'est pas assez pour tuer un processus.).sudo
sudo lsof -i:8080
.SIGKILL - terminate immediately/hard kill
: voir Liste de Tuer des Signaux et Quel est le but de l'-9 option dans la commande kill?)killport() {sudo kill -9 $(sudo lsof -t -i:${1} -sTCP:LISTEN)}
et puis killport 8080Utilisez la commande
utilisé
grep java
commetomcat
utilisejava
que leurs processus.Il affichera la liste de processus avec le numéro de port et l'identifiant du processus
le nombre avant
/java
est un id de processus. Maintenant utiliserkill
commande de tuer le processus-9
implique le processus sera tué par la force.netstat
.Vous pouvez utiliser la commande lsof.
Laissez un numéro de port comme ici c'est 8090
Cette commande renvoie une liste de processus ouverts sur ce port.
Quelque chose comme...
Gratuit le port, tuez le processus de l'utiliser(l'id de processus est 75782)...
Ce a travaillé pour moi.
voici le lien de l'original post: lien
Je voudrais ajouter ce one-liner pour tuer seulement ÉCOUTER sur le port spécifique:
kill -9 $(lsof -t -i:3000 -sTCP:LISTEN)
Si vous voulez tuer un processus en cours d'exécution sur le numéro de port 8080 puis vous devez d'abord trouver le port 8080 numéro d'identification du processus(PID) et puis la tuer. Exécutez la commande suivante pour trouver le port 8080 numéro PID:
Ici,
De sorte que vous pouvez maintenant facilement tuer votre PID à l'aide de la commande suivante:
Ici,
Vous pouvez utiliser une commande pour tuer un processus sur un port spécifique à l'aide de la commande suivante:
De plus, vous pouvez consultez le lien suivant
Comment tuer un processus sur un port spécifique sur linux
sudo kill -9 $(sudo lsof -t -i:8080)
a fonctionné pour moiCela s'imprime sur la sortie standard les id de tout ce qui tourne sur
<port_number>
:Il imprime aussi des trucs à stderr, donc:
Nous pouvons fournir ces id pour la
kill
commande:Vous pouvez également mettre cela dans une fonction si vous le faites beaucoup:
De connaître le pid du service qui s'exécute sur le port particulier :
vous obtiendrez la description de ce processus. Maintenant, l'utilisation de tuer ou de kill -9 pid. Facilement tués.
e.g
netstat -ap | grep :8080
Maintenant:
N'oubliez pas d'exécuter toutes les commandes
root
Obtenir le PID de la tâche et de le tuer.
essayer comme cela,
lsof -i tcp:8000
Cette commande répertorie les informations sur les processus en cours d'exécution dans le port 8000
kill -9 [PID]
Cette commande supprime le processus
Linux: d'Abord, vous pouvez trouver le PID de cette commande si vous connaissez le port :
exemple:-
Vous pouvez alors prendre le kill du processus. exécutez la commande suivante:
kill -9 PID
Expample: -
kill -9 15986
Linux: Vous pouvez utiliser cette commande si vous connaissez le port :
AIX:
Vous prenez alors la première colonne (exemple: f100050000b05bb8) et exécutez la commande suivante:
tuer le processus.
kill -9 `fuser 8080/tcp|xargs -n 1`
, cette commande supprime aussi le processus qui est à l'écoute sur le port 8080 en TCP connexionVous pouvez savoir liste de tous les ports de course dans le système avec ses détails (pid, adresse...). :
Vous pouvez savoir les détails d'un numéro de port particulier en fournissant un numéro de port dans la commande suivante :
ex: sudo netstat -lutnp | grep -w "8080'
Plus de détails seront donnés comme ceci :
si vous voulez tuer un processus en utilisant pid puis :
kill -9 {PID}
si vous voulez tuer un processus en utilisant le numéro de port :
fuser -n tcp {port_number}
utilisation
sudo
si vous n'êtes pas en mesure d'accéder à tout.Résultat:
80/tcp: 1858 à 1867 1868 1869 1871
Tuer processus un par un
kill -9 1858
de construire sur ce @veer7 dit:
si vous voulez savoir ce qui était sur le port, le faire avant de vous tuer.
Utiliser " ps " et le numéro du processus qui netstat rapporté
Autre manière avec Git Bash:
Dans Windows, il sera
netstat -ano | grep "8080"
et nous obtenons le message suivantTCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 10076
ON peut tuer le PID à l'aide de
taskkill /F /PID 10076