У меня возникла проблема, когда я вижу много экземпляров определенного процесса:
/usr/sbin/sendmail -FCronDaemon -i -odi -oem -oi -t
Я немного почитал, и кажется, что процессы запускаются для отправки вывода stdout задания cron, но по какой-то причине никогда не завершаются.
Есть один процесс в день, так что, похоже, это связано с ежедневными заданиями cron. Время запуска процесса в ps aux
(04:01 ежедневно), похоже, совпадает со временем запуска ежедневных заданий cron (04:02 ежедневно). Содержимое /etc/cron.daily
:
0anacron 0logwatch cups logrotate makewhatis.cron mlocate.cron rpm tmpwatch
Содержимое /etc/crontab
:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
До сих пор я вручную убивал эти процессы, когда они достигали большого числа; если я этого не делал, сервер исчерпывал ресурсы и служба, работающая на нем, останавливалась. В худшем случае я просто настрою другой cron, который будет убивать эти процессы, но я бы предпочел остановить проблему в самом источнике. Кто-нибудь знает причину этой проблемы? Может ли кто-нибудь предоставить шаги для отладки?
В моем случае у меня было 5 пяти заданий cron, и они отправляли почту по умолчанию . Поэтому мне нужно было добавить это выражение в конце заданий cron.
>/dev/null 2>&1
Например:
*/5 * * * * /bin/sh /usr/share/shell/gnk-loader-rev2-20028-0027.sh > /dev/null 2>&1