Witam,
mam uruchomiony program, który co jakiś czas powoduje wzrost obciążenia procesora do 100% i obecnie pomaga zabicie go (ręcznie) Proces znów się uruchamia i działa normalnie... do czasu.
Czy jest możliwość automatyzacji tego zadania w konsoli? Tzn. Monitorowanie, a gdy procesor wskakuje na 100% to po np. minucie zabija skrypt i tak w kółko?
Jestem amatorem, jednak może mnie ktoś naprowadzić jak się do tego zabrać?
Obci
Niestety nie da się zaprzyjaźnić. To aplikacja czatu w java (płatna) i co jakiś czas jej "odbija", lub raczej jednemu z wielu procesów "java" i wtedy zawieszają się media (video i fonia) i jak pisałem, pomaga zabicie tego procesu. Po chwili wraca wszystko do normy. Czy zabbix będzie tu pomocny, wyczytałem że ma możliwość wykonywania skryptów, do jakiś akcji?
Dwie opcje:
Pierwsza, bardziej eleagncka: Uruchamiać proces z wysokim nicedruga, bardzo nie elegancka:
[code]
nazwaprocesu=NAZWA
while true; do
if [ `ps -eo pid,%cpu,cmd | grep $nazwaprocesu | head -1 | awk '{print $2}' | cut -d '.' -f1 ` -ge 90 ]; then
kill -9 `pgrep $nazwaprocesu`
fi
sleep 60
done
[/code]
Pierwsza, bardziej eleagncka: Uruchamiać proces z wysokim nice
Kod: Zaznacz cały
nice -n 19[color=#000000][font=monospace] NAZWA_PROCESU [/font][/color]
[code]
nazwaprocesu=NAZWA
while true; do
if [ `ps -eo pid,%cpu,cmd | grep $nazwaprocesu | head -1 | awk '{print $2}' | cut -d '.' -f1 ` -ge 90 ]; then
kill -9 `pgrep $nazwaprocesu`
fi
sleep 60
done
[/code]