Привет, у нашего сервера есть странная проблема, когда примерно раз в месяц процесс GS (GhostScript) застревает и съедает 10-75% ЦП, пока я не убью процесс. strace не предоставил ничего полезного, поэтому, пока я не смогу решить эту проблему правильно, я хотел бы создать скрипт, который проверяет каждые несколько минут и убивает любой процесс GS, работающий более 5 минут. В нормальных условиях этот процесс должен завершиться максимум за несколько секунд или минут.
Вверху команда отображается как «GS». Как мне это сделать? Я предполагаю, что мне нужно написать сценарий BASH, а также настроить его для работы с интервалом? Коробка представляет собой веб-сервер под управлением CentOS 6.5.
Спасибо!
Используйте команду killall следующим образом: замените Process_Name на имя процесса GS,
killall --older-than 5m Process_Name
Чтобы создать файл сценария
touch myscript.sh
chmod +x myscript.sh
echo "killall --older-than 5m Process_Name" > myscript.sh
Запускать сценарий каждые 5 минут, если myscript находится в корневом каталоге.
echo "*/5 * * * * /root/myscript.sh" >> /etc/crontab