Нужно убить процессы frmweb без заданий
Поэтому я пытаюсь найти способ убить процессы Oracle frmweb, которые ничего не делают, когда нагрузка начинает становиться слишком высокой.
До сих пор я нашел эту команду:
ps -elf | head -1; ps -elf | awk '{if ($5 == 1 && $3 == "oracle" && $15 == "frmweb") {print $0}}' | head
Эта команда теоретически должна показать мне осиротевшие процессы, но мне было интересно, есть ли способ автоматизировать все это, если нагрузка превышает 4,00 в течение 5 минут или около того.
1 ответ
Из действия Perform, основанного на загрузке avg, видно, что Monit сделает то, что вы просите.
Вам нужно будет выполнить шаги в разделе " Тестирование ресурсов" и использовать LOADAVG(5 минут).
В качестве примера:
if loadavg(5min) is greater than 4.00 for 2 cycles then exec '/usr/local/bin/frmwebkill.sh'
Где frmwebkill запускает указанную вами команду, чтобы найти сирот, а затем убивает найденные процессы.