Vous pouvez utiliser pgrep
tant que vous incluez les -f
options. Cela fait pgrep
correspondre les mots-clés dans l'ensemble de la commande (y compris les arguments) au lieu du seul nom du processus.
pgrep -f keyword
Depuis la page de manuel :
-f
Le modèle n'est normalement mis en correspondance qu'avec le nom du processus. Lorsque -f
est défini, la ligne de commande complète est utilisée.
Si vous voulez vraiment éviter pgrep, essayez:
ps -ef | awk '/[k]eyword/{print $2}'
Notez le []
autour de la première lettre du mot-clé. C'est une astuce utile pour éviter de faire correspondre la awk
commande elle-même.
kill -9 `pgrep -f keyword`
ps aux | grep chrome
[k]
astucepgrep -f
. Mon script s'exécutait dans un sous-shell, donc je pense qu'il prenait sa commande parent (difficile à savoir avec certitude - le pid qu'il a renvoyé avait disparu lorsque la commande a été exécutée!)pkill -9 -f keyword
?Essayer
ps -ef | grep "KEYWORD" | awk '{print $2}'
Cette commande devrait vous donner le PID des processus contenant KEYWORD. Dans ce cas,
awk
renvoie ce qui se trouve dans la deuxième colonne à partir de la sortie.la source
| head -1
.ps -ef | grep KEYWORD | grep -v grep | awk '{print $2}'
la source
| xargs kill -9
à la finj'utilise
Cette commande devrait vous donner un numéro PID.
la source
Ceci est disponible sur linux: mot-clé pidof
la source
Pour tuer un processus par un mot-clé spécifique, vous pouvez créer un alias dans
~/.bashrc
(linux) ou~/.bash_profile
(mac).la source
| head -1
enveloppe tout cela bien et net.