J'exécute la commande ps -A | grep <application_name>
et obtenir la liste des processus comme celui-ci:
19440 ? 00:00:11 <application_name>
21630 ? 00:00:00 <application_name>
22694 ? 00:00:00 <application_name>
Je veux tuer tous les processus de la liste: 19440
, 21630
, 22694
.
J'ai essayé ps -A | grep <application_name> | xargs kill -9 $1
mais cela fonctionne avec des erreurs.
kill: illegal pid ?
kill: illegal pid 00:00:00
kill: illegal pid <application_name>
Comment puis-je le faire gracieusement?
pkill -f <application_na>
Tue tous les processus qui contiennent le modèle <application_na>
en leurs noms.
Le problème est que ps -A | grep <application_name> | xargs -n1
renvoie une sortie comme celle-ci
19440
?
00:00:11
<application_name>
21630
?
00:00:00
<application_name>
22694
?
00:00:00
<application_name>
Vous pouvez utiliser awk
pour obtenir d'abord une colonne de ps
sortie.
ps -A | grep <application_name> | awk '{print $1}' | xargs -n1
Renvoie la liste des PID
19440
21630
22694
Et en ajoutant kill -9 $1
vous avez une commande qui tue tous les PID
ps -A | grep <application_name> | awk '{print $1}' | xargs kill -9 $1
killall
peut le faire.
$ killall application_name