846 votes

Comment tuer un processus sur un port sur ubuntu

J'essaie de tuer un processus dans la ligne de commande pour un port spécifique dans ubuntu.

Si je lance cette commande, j'obtiens le port :

sudo lsof -t -i:9001

alors... maintenant je veux courir :

sudo kill 'sudo lsof -t -i:9001'

J'obtiens ce message d'erreur :

ERROR: garbage process ID "lsof -t -i:9001".
Usage:
  kill pid ...              Send SIGTERM to every process listed.
  kill signal pid ...       Send a signal to every process listed.
  kill -s signal pid ...    Send a signal to every process listed.
  kill -l                   List all signal names.
  kill -L                   List all signal names in a nice table.
  kill -l signal            Convert between signal numbers and names.

J'ai essayé sudo kill 'lsof -t -i:9001' ainsi que

11 votes

Pour information, les questions sur Ubuntu ont plus de chance d'être répondues sur la partie Ubuntu du réseau StackExchange (StackOverflow) : askubuntu.com

0 votes

Honnêtement, vous devriez utiliser l'unité de fusion, car c'est très simple, mais peu importe.

1710voto

zellio Points 8863

Vous devez utiliser le backtick, et non le tick normal :

sudo kill -9 `sudo lsof -t -i:9001`

Si cela ne fonctionne pas, vous pouvez également utiliser $() pour l'interpolation des commandes :

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

53 votes

Vous avez oublié d'ajouter l'option signal. Il faut lire : sudo kill -9 $(sudo lsof -t -i:9001)

11 votes

@FrancescoGramano : vous ne voulez pas utiliser -9 à moins d'y être obligé.

2 votes

Quand sudo kill ne peut pas tuer le processus, la méthode de @putra.koreng fonctionne bien

403voto

putra.koreng Points 131

Vous pouvez utiliser

fuser -n tcp -k 9001 

voir plus de détails dans wikipedia

2 votes

Si ce n'est pas le cas Root : sudo fuser -n tcp -k 9001

2 votes

Tnx cela fonctionne pour moi.

153voto

Mohit Singh Points 5155

POUR UBUNTU 1- Trouvez quelle application/processus utilise le pro, tapez :

sudo netstat -lpn |grep :8080

et appuyez sur Entrée.

Vous obtiendrez un résultat similaire à celui-ci

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

2- J'ai obtenu l'identifiant du processus, qui est 6782, c'est le processus qui utilise le port 8080.

3- Tuez le processus, tapez : kill -p 6782

kill -9 6782

115voto

Vishnu S Babu Points 354

La meilleure façon de supprimer un port dans le terminal Ubuntu est d'utiliser la commande fuser commande ; par exemple :

fuser -k 9001/tcp

Cela permet d'envoyer SIGKILL par défaut.

39voto

Arayan Singh Points 1285

Tuer un processus fonctionnant sur le numéro de port 9001

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

lsof   - list of files(Also used for to list related processes)

-t     - show only process ID

-i     - show only internet connections related process

:9001  - show only processes in this port number

kill   - command to kill the process

-9     - forcefully

sudo   - command to ask admin privilege(user id and password).

Pour plus d'informations, vous pouvez visiter mon blog

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X