A documentação do Monit sugere que você possa monitorar de forma nativa a memória total usada pelo Apahce e seus processos filhos, e não qualquer processo filho individual.
No entanto, você pode verificar o status de retorno de um script usando o check program
test:
Então, você pode fazer algo parecido com um script de verificação:
#/bin/bash
threshold=10000 # 10MB
for childmem in $(ps h orss p $(pgrep -P $(cat /var/run/httpd.pid)))
do
if [ $childmem -gt $threshold ]; then
exit 1
fi
done
exit 0
Se esse script for /usr/local/bin/check_apache_children.sh
, você poderá fazer algo como:
check program myscript with path "/usr/local/bin/check_apache_children.sh"
if status != 0 then exec "/usr/local/bin/kill_apache_children.sh"
O script kill provavelmente será parecido com o script de verificação, mas com um kill no PID em vez de uma saída.
Os scripts são, obviamente, ilustrativos e devem ser modificados para o seu ambiente.