解决crond引发大量sendmail、postdrop进程问题
生活随笔
收集整理的這篇文章主要介紹了
解决crond引发大量sendmail、postdrop进程问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題:服務器內存接近耗盡報警,ps -ef查看有3000多個進程,大部分都是crond、sendmail、postdrop,如圖:
可以發現postdrop是由sendmail啟動的,而sendmail又是由crond啟動的。
問題成因:crond在執行腳本時會將腳本輸出信息以郵件的形式發送給系統用戶,所以必然要調用sendmail,而sendmail又會調用postdrop發送郵件,但是如果系統的postfix服務沒有正常運行,那么郵件就會發送不成功,造成sendmail、postdrop、crond進程就無法正常退出,形成大量的僵尸進程
解決辦法:先把僵尸進程都干掉ps -ef | egrep "sendmail|postdrop" | grep -v grep |xargs kill,讓內存降下來,其實我一開始將postfix服務重啟了一下,問題就解決了,觀察了一段時間,僵尸進程并沒有再次出現。
為防以后postfix掛了再出現類似問題,可以進行如下配置,將crond的郵件通知關閉:
將/etc/crontab和/etc/cron.d/0hourly里的MAILTO=root修改為MAILTO=""
crontab -e第一行增加一段MAILTO=""
總結
以上是生活随笔為你收集整理的解决crond引发大量sendmail、postdrop进程问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: printf 命令详解
- 下一篇: fdisk命令非交互模式及parted的