result=`ps -Al | grep command-name | wc -l`
echo $result
Sur les systèmes qui ont pgrep
disponible, le -c
l'option renvoie le nombre de processus correspondant au nom donné
pgrep -c command_name
Notez qu'il s'agit d'un grep
-correspondance de style, pas une correspondance exacte, donc par ex. pgrep sh
correspondra également à bash
processus. Si vous voulez une correspondance exacte, utilisez également le -x
option.
Si pgrep
n'est pas disponible, vous pouvez utiliser ps
et wc
.
ps -C command_name --no-headers | wc -l
Le -C
option à ps
prend command_name
comme argument, et le programme imprime une table d'informations sur les processus dont le nom d'exécutable correspond au nom de commande donné. Ceci est une correspondance exacte, pas grep
-style. Le --no-headers
L'option supprime les en-têtes du tableau, qui sont normalement imprimés en première ligne. Avec --no-headers
, vous obtenez une ligne par processus correspondant. Alors wc -l
compte et imprime le nombre de lignes dans son entrée.