
当社には、crontab を多用する非常に機密性の高いアプリケーションがあり、crontab によって開始されたプロセスのうち、現在も実行中のプロセスの数を追跡したいと考えています。
つまり、「queuedefs」には 300 個の cron ジョブの制限があり、その制限に達しないようにする必要があります。
敬具、ダム管理者
答え1
これにより、親が crond であるプロセスのリストが取得されます。
ps h --ppid $(pgrep crond)
答え2
の 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
。