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.