#!/usr/bin/perl -w
#
# proccount.pl - ermittelt die Anzahl der Prozesse
# für beliebige Kommandos (als Parameter übergeben).
# Aktuelle Kommandoliste:
#   "ps -eo cmd|awk '{print $1}'|sort|uniq"

use strict;

# ohne Argumente abbrechen
if (!@ARGV) { exit 1; }

my %command_counter;

# für jedes Kommando einen Zähler initialisieren
foreach (@ARGV) {
    $command_counter{$_} = 0;
}

# Prozessliste durchlaufen und
# ggf. Kommandozähler erhöhen
foreach (split(/\n/,`ps -eo cmd|awk '{print \$1}'`)) {
    if ( exists($command_counter{$_}) ) {
        $command_counter{$_}++;
    }
}

# Werte in der richtigen Reihenfolge
# in ein Array schreiben
my @values;
foreach (@ARGV) {
    push @values, $command_counter{$_};
}

# Ausgabe
print join(' ',@values);
