Cet article couvre les bases du pkill
Linux commande.
pkill
est un utilitaire de ligne de commande qui envoie des signaux aux processus d'un programme en cours d'exécution en fonction de critères donnés. Les processus peuvent être spécifiés par leurs noms complets ou partiels, un utilisateur exécutant le processus ou d'autres attributs.
Le pkill
la commande fait partie du procps
(ou procps-ng
), qui est pré-installé sur presque toutes les distributions Linux. pkill
est basiquement un wrapper autour du pgrep
programme qui n'imprime qu'une liste des processus correspondants.
Comment utiliser le pkill
Commande #
La syntaxe du pkill
commande est la suivante :
pkill [OPTIONS] <PATTERN>
Le <PATTERN>
correspondant est spécifié à l'aide d'expressions régulières étendues.
Lorsqu'il est appelé sans aucune option, pkill
envoie le 15
(TERM
) signal aux PID de tous les programmes en cours d'exécution qui correspondent au nom donné. Par exemple, pour arrêter gracieusement tous les processus firefox, vous exécuteriez :
pkill -15 firefox
La commande renvoie 0
lorsqu'au moins un processus en cours d'exécution correspond au nom demandé. Sinon, le code de sortie est 1
. Cela peut être utile lors de l'écriture de scripts shell.
Pour envoyer un signal différent aux processus correspondants, appelez le pkill
commande avec le --signal
option, suivi du nom numérique ou symbolique du signal. Une autre façon d'envoyer un signal est d'exécuter pkill
suivi du nom ou du numéro du signal précédé d'un trait d'union (-
).
Utilisez le kill -l
commande pour lister tous les signaux disponibles.
Les signaux les plus couramment utilisés sont :
1
(HUP
) :pour recharger un processus.9
(KILL
) :pour tuer un processus.15
(TERM
) :pour arrêter proprement un processus.
Les signaux peuvent être spécifiés de trois manières différentes :
- à l'aide d'un nombre (par exemple, -1)
- avec le préfixe "SIG" (par exemple, -SIGHUP)
- sans le préfixe "SIG" (par exemple, -HUP).
Par exemple, pour recharger les processus Nginx, vous exécuteriez :
pkill -HUP nginx
pkill
utilise des expressions régulières pour faire correspondre les noms de processus. C'est toujours une bonne idée d'utiliser le pgrep
commande pour imprimer les processus correspondants avant de leur envoyer des signaux. Par exemple, pour lister tous les processus qui contiennent "ssh" dans leur nom :
1039 sshd
2257 ssh-agent
6850 ssh
31279 ssh-agent
Si vous souhaitez envoyer un signal uniquement aux processus dont les noms correspondent exactement au modèle de recherche, vous utiliserez :
pkill '^ssh$'
Le caret (^
) correspond au début de la chaîne, et le dollar $
à la fin.
Par défaut, pkill
correspond uniquement au nom du processus. Lorsque -f
est utilisée, la commande correspond aux listes complètes d'arguments. Si la commande contient des espaces, mettez la commande entière entre guillemets :
pkill -9 -f "ping 8.8.8.8"
Utilisez le -u
option pour indiquer pkill
pour faire correspondre les processus exécutés par un utilisateur donné :
pkill -u mark
Pour spécifier plusieurs utilisateurs, séparez leurs noms par des virgules :
pkill -u mark,danny
Vous pouvez également combiner des options et des modèles de recherche. Par exemple pour envoyer KILL
signale tous les processus qui s'exécutent sous l'utilisateur "mark" et contiennent "gnome" dans leurs noms que vous tapez :
pkill -9 -u mark gnome
Pour afficher uniquement les processus démarrés le moins récemment (le plus ancien) ou le plus récemment (le plus récent), utilisez le -n
(pour les plus récents) ou le -o
(pour les plus anciens).
Par exemple, pour tuer le dernier écran créé :
pkill -9 -n screen
Conclusion #
Le pkill
La commande est utilisée pour envoyer des signaux aux programmes en cours d'exécution en fonction de différents critères.
Pour plus d'informations sur pkill
commande, visitez la page de manuel pkill ou tapez man pkill
dans votre terminal.
Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.