Question Comment tuer un processus s'exécutant sur un port particulier sous Linux?


J'ai essayé de fermer le tomcat en utilisant ./shutdown.sh de tomcat /bin annuaire. Mais trouvé que le serveur n'a pas été fermé correctement. Et ainsi j'ai été incapable de redémarrer
Mon tomcat fonctionne sur le port 8080.

Je veux tuer le processus Tomcat en cours d'exécution 8080. Je veux d'abord avoir la liste des processus qui s'exécutent sur un port spécifique (8080) afin de sélectionner le processus à tuer.


385
2017-07-20 16:39


origine


Réponses:


Ce fuser 8080/tcp vous imprimera le PID du processus lié à ce port.

Et ça fuser -k 8080/tcp va tuer ce processus.

Fonctionne sous Linux uniquement. Plus universel est l'utilisation de lsof -i4 (ou 6 pour IPv6).


588
2017-07-21 21:57



Pour lister tout processus d'écoute du port 8080:

lsof -i:8080

Pour tuer tout processus d'écoute du port 8080:

kill $(lsof -t -i:8080)

ou plus violemment:

kill -9 $(lsof -t -i:8080)

290
2017-09-15 18:17



Utilisez la commande

 sudo netstat -plten |grep java

utilisé grep java comme tomcat les usages java comme leurs processus.

Il affichera la liste des processus avec numéro de port et identifiant de processus

tcp6       0      0 :::8080                 :::*                    LISTEN      
1000       30070621    16085/java

le nombre avant /java est un identifiant de processus. Maintenant utilisez kill commande pour tuer le processus

kill -9 16085

-9 implique que le processus sera tué avec force.


186
2017-07-20 16:39



Vous pouvez utiliser la commande lsof. Laissez le numéro de port comme ici est 8090

lsof -i:8090

Cette commande renvoie une liste de processus ouverts sur ce port.

Quelque chose comme…

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ssh 75782 eoin 5u IPv6 0x01c1c234 0t0 TCP localhost:8090 (LISTEN)

Pour libérer le port, tuez le processus en l'utilisant (l'identifiant du processus est 75782) ...

kill -9 75782

Celui-ci a travaillé pour moi. voici le lien du post original: lien


91
2018-02-11 10:29



J'ajouterais ce one-liner pour seulement LISTEN sur le port spécifique:

kill -9 $(lsof -t -i:3000 -sTCP:LISTEN)


65
2018-01-22 13:44



Cela imprime à stdout les identifiants de processus de tout ce qui s'exécute <port_number>:

fuser -n tcp <port_number> 

Il imprime également des choses à stderr, donc:

fuser -n tcp <port_number> 2> /dev/null

Nous pouvons ensuite fournir ces identifiants de processus à kill commander:

sudo kill $(fuser -n tcp <port_number> 2> /dev/null)

Vous pouvez également mettre cela dans une fonction si vous le faites beaucoup:

function killport() {
    sudo kill $(fuser -n tcp $1 2> /dev/null)
}

36
2017-09-27 21:10



Pour connaître le pid de service s'exécutant sur un port particulier:

netstat -tulnap | grep :*port_num*

vous obtiendrez la description de ce processus. Maintenant, utilisez kill ou kill -9 pid. Facilement tué.

par exemple

netstat -ap | grep :8080

tcp6       0      0 :::8080       :::*    LISTEN      1880/java 

À présent:

kill -9 1880

N'oubliez pas d'exécuter toutes les commandes en tant que root


29
2017-08-12 08:59



Si vous souhaitez supprimer un processus s'exécutant sur le numéro de port 8080, vous devez d'abord trouver le numéro d'identification de processus du port 8080 (PID), puis le supprimer. Exécutez la commande suivante pour rechercher le numéro de port 8080 PID:

sudo lsof -t -i:8080

Ici,

  • sudo - Commande pour demander le privilège admin (identifiant et mot de passe).
  • lsof - liste des fichiers (également utilisée pour lister les processus liés)
  • -t - Afficher uniquement l'ID de processus
  • -je - afficher uniquement les connexions liées au processus internet
  • : 8080 - Afficher uniquement les processus dans ce numéro de port

Donc, vous pouvez maintenant facilement tuer votre PID en utilisant la commande suivante:

sudo kill -9 <PID>

Ici,

  • kill - commande pour tuer le processus
  • -9 - avec force

Vous pouvez utiliser une commande pour tuer un processus sur un port spécifique en utilisant la commande suivante:

sudo kill -9 $(sudo lsof -t -i:8080)

Pour en savoir plus, vous pouvez voir le lien suivant Comment tuer un processus sur un port spécifique sur Linux


29
2018-05-18 12:29



essayez comme ça,

 sudo fuser -n tcp -k 8080

15
2018-06-26 11:15



  1. lsof -i tcp:8000 Cette commande répertorie les informations sur le processus exécuté dans le port 8000

  2. kill -9 [PID]Cette commande tue le processus


9
2017-12-16 09:26