Tuer les processus SHELL

Cette commande ps -ef | grep php ps -ef | grep php renvoie une liste de processus

Je veux tuer en une seule commande ou avec un script shell tous ces processus

Merci

La méthode la plus simple pour tuer toutes les commandes avec un nom donné consiste à utiliser killall :

 killall php 

Notez que cela envoie uniquement un signal d’interruption. Cela devrait suffire si les processus se comportent. S’ils ne meurent pas de cela, vous pouvez les tuer de force en utilisant

 killall -9 php 

La méthode normale consiste à utiliser xargs comme dans ps -ef | grep php | xargs kill ps -ef | grep php | xargs kill ps -ef | grep php | xargs kill , mais il y a plusieurs façons de le faire.

  • ps -ef liste tous les processus et vous utilisez ensuite grep pour sélectionner quelques lignes qui mentionnent “php”. Cela signifie que les commandes qui ont “php” dans leur ligne de commande correspondront et seront tuées. Si vous voulez vraiment faire correspondre la commande (et pas les arguments aussi), il est probablement préférable d’utiliser pgrep php .

  • Vous pouvez utiliser un backtick de shell pour fournir la sortie d’une commande comme arguments à une autre commande, comme dans

    tuez `pgrep php`

  • Si vous ne voulez tuer que des processus, il existe une commande pkill qui correspond à un modèle à la commande. Cela ne peut pas être utilisé si vous voulez faire autre chose avec les processus. Cela signifie que si vous voulez tuer tous les processus où la commande contient “php”, vous pouvez le faire en utilisant pkill php .

J’espère que cela t’aides.

Vous pouvez trouver son pid (il est sur la première colonne ps imprime) et utiliser la commande kill pour le forcer à le tuer:

 kill -9  

Utilisez xargs :

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

grep -v grep exclut la commande elle-même et awk donne la liste des PID qui reçoivent ensuite la commande kill .

Utilisez pkill php . Plus sur ce sujet dans cette question similaire: Comment puis-je tuer un processus par nom plutôt que par PID?