我们有一个非常敏感的应用程序,它大量使用 crontab,我们想跟踪 crontab 启动的进程中有多少仍在运行。
简而言之,‘queuedefs’ 中的 cron 作业数量限制为 300 个,我们希望确保不会达到这个数字。
谨致,愚蠢的管理员
答案1
这将获得父进程为 crond 的进程列表:
ps h --ppid $(pgrep crond)
答案2
看起来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
。