
Tenemos una aplicación muy sensible que utiliza mucho crontab y nos gustaría realizar un seguimiento de cuántos procesos iniciados por crontab todavía se están ejecutando.
En resumen, tenemos un límite de 300 trabajos cron en 'queuedefs' y queremos asegurarnos de no alcanzarlo.
Sinceramente, administrador tonto
Respuesta1
Esto le dará una lista de procesos cuyo padre es crond:
ps h --ppid $(pgrep crond)
Respuesta2
Parece que el PID crond
varía en cada invocación. Entonces, ¿qué tal esto?
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
Esto imprimirá un recuento de todos los procesos que han sido iniciados por un proceso llamado crond
.