Crontab - So ermitteln Sie aktuell aktive Prozesse, die von Cron gestartet wurden

Crontab - So ermitteln Sie aktuell aktive Prozesse, die von Cron gestartet wurden

Wir haben eine sehr sensible Anwendung, die in großem Umfang auf Crontab zurückgreift, und wir würden gerne verfolgen, wie viele von Crontab gestartete Prozesse noch ausgeführt werden.

Kurz gesagt, wir haben ein Limit von 300 Cron-Jobs in „Queuedefs“ und wir möchten sicherstellen, dass wir dieses Limit nicht erreichen.

Mit freundlichen Grüßen, Dumb Admin

Antwort1

Dadurch erhalten Sie eine Liste der Prozesse, deren übergeordneter Prozess crond ist:

ps h --ppid $(pgrep crond)

Antwort2

Es sieht so aus, als ob die PID crondbei jedem Aufruf unterschiedlich ist. Wie wäre es also damit?

for pid in  $(ps -ef | grep -i crond | awk '{print $2}') ; do
  ps -ef | grep -vi crond | awk -v ppid=${pid} '{if ($3 == ppid) print $0}'
done | wc -l

Dadurch wird die Anzahl aller Prozesse ausgedruckt, die von einem Prozess namens gestartet wurden crond.

verwandte Informationen