Назад | Перейти на главную страницу

Crontab - Как определить текущие активные процессы, запущенные cron

У нас есть очень чувствительное приложение, в котором активно используется crontab, и мы хотели бы отслеживать, сколько процессов, запущенных crontab, все еще выполняется.

Короче говоря, у нас есть ограничение в 300 заданий cron в 'queuedefs', и мы хотим быть уверены, что не достигаем его.

С уважением, тупой админ

Похоже на PID crond меняется при каждом вызове. Итак, как насчет этого?

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

Это распечатает количество всех процессов, которые были запущены процессом с именем crond.

Это даст вам список процессов, родителем которых является crond:

ps h --ppid $(pgrep crond)