pidof
est un utilitaire de ligne de commande qui vous permet de trouver l'ID de processus d'un programme en cours d'exécution.
Dans cet article, nous allons vous expliquer comment utiliser le pidof
Linux commande.
Comment utiliser le pidof
Commande #
Il existe différentes implémentations de pidof
pour les distributions basées sur Red Hat et Debian. Sur les distributions Red Hat, le pidof
la commande fait partie du procps-ng
package, alors que sur Debian, il fait partie de sysvinit-utils
. Nous passerons en revue les options communes aux deux implémentations.
La syntaxe du pidof
commande est la suivante :
pidof [OPTIONS] PROGRAM_NAME
La commande accepte zéro ou plusieurs noms comme arguments, mais généralement, vous ne passerez qu'un seul nom à pidof
.
Lorsqu'il est invoqué sans aucune option, pidof
imprimera les PID de tous les programmes en cours d'exécution qui correspondent au nom donné. Par exemple, pour trouver le PID du serveur SSH, vous exécuterez :
pidof sshd
S'il y a des processus en cours d'exécution avec des noms correspondant à sshd
, leurs PID seront affichés à l'écran. Si aucune correspondance n'est trouvée, la sortie sera vide.
4382 4368 811
pidof
renvoie 0
lorsqu'au moins un programme 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 vous assurer que seuls les PID du programme que vous recherchez sont affichés, utilisez le chemin d'accès complet au programme comme argument. Par exemple, si vous avez deux programmes en cours d'exécution avec le même nom situés dans deux répertoires différents pidof
affichera les PID des deux programmes en cours d'exécution.
Par défaut, tous les PID des programmes en cours d'exécution correspondants sont affichés. Utilisez le -s
option pour forcer pidof
pour n'afficher qu'un seul PID :
pidof -s program_name
Le -o
L'option vous permet d'exclure un processus avec un PID donné de la sortie de la commande :
pidof -o pid program_name
Quand pidof
est invoqué avec le -o
option, vous pouvez utiliser un PID spécial nommé %PPID
qui représente le shell appelant ou le script shell.
Pour renvoyer uniquement les PID des processus qui s'exécutent avec le même répertoire racine, utilisez le -c
option.
Cette option ne fonctionne que pidof
est exécuté en tant que root ou sudo
utilisateur :
pidof -c pid program_name
Exemple d'utilisation du pidof
Commande #
L'exemple suivant montre comment utiliser le pidof
commande en combinaison avec la commande kill
commande pour terminer un programme.
Disons que le navigateur Firefox ne répond plus et que vous devez tuer les processus Firefox. D'abord, trouvez les PID, avec pidof
:
pidof firefox
La commande imprimera tous les processus Firefox :
2551 2514 1963 1856 1771
Une fois que vous savez que Firefox traite les PID, envoyez le SEGTERM
signal pour les terminer tous :
sudo kill -9 2551 2514 1963 1856 1771
Vous pouvez également utiliser l'expression de substitution de commande $(...)
, pour terminer le programme en une seule commande :
sudo kill -9 $(pidof firefox)
Conclusion #
Le pidof
La commande est utilisée pour connaître les PID d'un programme spécifique en cours d'exécution.
pidof
est une commande simple qui n'a pas beaucoup d'options. Généralement, vous invoquerez pidof
uniquement avec le nom du programme que vous recherchez.
Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.