Zählen von Prozessen mit bestimmtem Namem

Hallo,

ich möchte gerne unter Linux folgendes mit einem kleinen Shellscript bewerkstelligen:

Ein Prozess hat ein „defunct“ im Namen und die Anzahl dieser Prozesse soll alle 10 Sekunden gezählt und mit Datumsstempel in eine Datei geschrieben werden, also in etwa so:

20071113_091010 1
20071113_091020 3
20071113_091030 2

echo "date +%Y+%m+%d +%H_+%M_+%S ps -afe|grep -i defunct|wc -l\n" >> $LOGFILE

Kann ich das mit solch einem Befehl erreichen (in einer Schleife natürlich) oder wird das nicht funktionieren? Ich habe momentan noch nicht die Möglichkeit, das Script auszuprobieren.

Viele Grüße,

Robert

Hallo Robert,

ja, das kannst du mit einem Befehl erreichen. Hier die korrigierte Fassung deines Befehls:

echo "date +%Y%m%d_%H%M%S ps afe | grep -i defunct | grep -v grep | wc -l" >> $LOGFILE

Anmerkungen:

  • das 2. grep (mit -v) entfernt das eigentliche grep aus der Prozessliste
  • echo schreibt automatisch einen Zeilenumbruch (\n)

Entweder du machst das als Schleife (mit sleep) oder als Cronjob.

Gruss
Stefan

Hallo Stefan,

vielen dank für deine Hilfe :smile:

Grüße,
Robert