我们有一个非常敏感的应用程序,大量使用crontab,并且我们想跟踪crontab启动的进程有多less个仍在运行。
总之,我们在'queuedefs'中有300个cron作业的限制,我们要确保我们没有达到它。
真诚的,愚蠢的pipe理员
这会得到一个父进程为crond的进程列表:
ps h --ppid $(pgrep crond)
看起来像每个调用crond
的PID不同。 那么,这个怎么样?
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
的进程已经启动的所有进程的计数。