result=`ps -Al | grep command-name | wc -l`
echo $result
Auf Systemen mit pgrep verfügbar, die -c Option gibt die Anzahl der Prozesse zurück, die mit dem angegebenen Namen übereinstimmen
pgrep -c command_name
Beachten Sie, dass dies eine grep ist -Stilübereinstimmung, keine exakte Übereinstimmung, also z. pgrep sh passt auch zu bash Prozesse. Wenn Sie eine genaue Übereinstimmung wünschen, verwenden Sie auch den -x Option.
Wenn pgrep nicht verfügbar ist, können Sie ps verwenden und wc .
ps -C command_name --no-headers | wc -l
Die -C Option auf ps nimmt command_name als Argument, und das Programm gibt eine Tabelle mit Informationen über Prozesse aus, deren ausführbarer Name mit dem angegebenen Befehlsnamen übereinstimmt. Dies ist eine exakte Übereinstimmung, nicht grep -Stil. Die --no-headers Option unterdrückt die Kopfzeilen der Tabelle, die normalerweise als erste Zeile gedruckt werden. Mit --no-headers , erhalten Sie eine Zeile pro abgeglichenem Prozess. Dann wc -l zählt und gibt die Anzahl der Zeilen in seiner Eingabe aus.