90 votes

Comment donner des arguments pour tuer via pipe

Je dois rechercher un certain processus et tuer ce processus. J'ai écrit une commande comme celle-ci :

 ps -e | grep dmn | awk '{print $1}' | kill

Où le nom du processus est dmn . Mais ça ne fonctionne pas. Comment puis-je trouver des processus par nom et kill eux.

172voto

Daniel Persson Points 1996
kill $(ps -e | grep dmn | awk '{print $1}')

50voto

jcollado Points 18325

Si vous souhaitez supprimer plusieurs processus, vous pouvez utiliser ceci :

 ps -efw | grep dmn | grep -v grep | awk '{print $2}' | xargs kill

Remarque : vous devez supprimer le processus grep lui-même de la sortie, c'est pourquoi grep -v grep est utilisé.

18voto

unutbu Points 222216

Vous pourriez utiliser

 pkill dmn 

si votre système a la commande pkill .

4voto

pedmiston Points 199

Je viens d'en ajouter d'autres, mais j'aime utiliser la capacité des fonctionnalités regex d'awk :

 kill $(ps | awk '/dmn/{print $1}')

4voto

thefiscster510 Points 213

Si vous avez la commande pidof sur votre système (je sais que les shells tels que ZSH sont livrés avec cela par défaut, sauf erreur), vous pouvez faire quelque chose comme.

 kill -9 $(pidof dmn)

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