Question Comment tuer tous les processus avec un nom partiel donné?


Je veux tuer tous les processus que je reçois:

ps aux | grep my_pattern

Comment faire?

Cela ne fonctionne pas:

pkill my_pattern

426
2018-01-24 12:46


origine


Réponses:


Utilisation pkill -f, qui correspond au modèle pour toute partie de la ligne de commande

pkill -f my_pattern

924
2018-01-24 12:47



Tuer tous les processus correspondant à la chaîne "myProcessName":

Bon mot:

ps -ef | grep 'myProcessName' | grep -v grep | awk '{print $2}' | xargs -r kill -9

La source: http://www.commandlinefu.com/commands/view/1138/ps-ef-grep-process-grep-v-grep-awk-print-2-xargs-kill-9


92
2018-05-28 18:59



Si vous avez besoin de plus de flexibilité dans la sélection des processus, utilisez

for KILLPID in `ps ax | grep 'my_pattern' | awk ' { print $1;}'`; do 
  kill -9 $KILLPID;
done

Vous pouvez utiliser grep -e etc.


48
2018-01-24 12:52



vous pouvez utiliser la commande suivante pour lister le processus

ps aux | grep -c myProcessName 

si vous avez besoin de vérifier le nombre de ce processus, puis exécutez

ps aux | grep -c myProcessName |grep -v grep 

après quoi vous pouvez tuer le processus en utilisant

kill -9 $(ps aux | grep -e myProcessName | awk '{ print $2 }') 

13
2018-06-21 07:13



Vous pouvez également utiliser killall -r my_pattern. -r Interprète le modèle de nom de processus en tant qu'expression régulière étendue.

killall -r my_pattern

9
2017-09-26 08:47



Si vous jugez pkill -f PATTERN un peu trop dangereux, j'ai écrit ezkill un script bash qui vous invite à choisir les processus parmi ceux qui correspondent au PATTERN que vous voulez tuer.


6
2018-03-30 08:03



Vous pouvez utiliser la commande suivante pour

kill -9 $(ps aux | grep 'process' | grep -v 'grep' | awk '{print $2}')

3
2017-09-11 10:51



Semble mauvais?

 pkill `pidof myprocess`

Exemple:

# kill all java processes
pkill `pidof java`

2
2017-11-14 14:29



Vous pouvez utiliser la commande suivante pour:

ps -ef | grep -i myprocess | awk {'print $2'} | xargs kill -9

ou

ps -aux | grep -i myprocess | awk {'print $2'} | xargs kill -9

Ça marche pour moi.


2
2017-09-08 16:34



Si vous ne voulez pas prendre le mal de tête de trouver l'ID de processus, utilisez regexp pour tuer le processus par son nom. Par exemple, tuer le chrome suivant le code fera l'affaire.

killall -r --regexp chrome


1
2018-02-16 07:39